有点像sql 的left join
import com.unicom.initperson.entity.Identity;
import com.unicom.initperson.entity.Person;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
public class ListUtil {
/**
* 通过遍历两个List中按组织编号关联匹配
* @param oneList
* @param twoList
*/
public static List<Person> compareListHitData(List<Person> oneList, List<Identity> twoList) {
List<Person> list=oneList.stream().map(person -> twoList.stream()
.filter(identity -> Objects.equals(person.getEmployee(),identity.getNumber()))
.findFirst().map(i -> {
person.setDutyName(i.getDutyName());
person.setLoginNumber(i.getLoginName());
person.setUnit(i.getOrgNumber());
person.setMajor(i.getMain());
person.setOrderNumber(i.getOrder());
return person;
}).orElse(null))
.filter(Objects::nonNull).collect(Collectors.toList());
return list;
}
}