如何从对象列表中获取公共字段

时间:2016-03-30 21:47:27

标签: java arraylist listobject

假设我有一个学生类包含在字段中:firstName和surname

然后我用它来创建两个列表

List<Student> classroomA = {["Ben","oreilly"], ["Jenna","Birch"]}
List<Student> classroomB = {["Alan","Messing"], ["Ben", "Mancini"], ["Helena","Wong"]}

如何使用这些列表从列表中获取所有同名学生:

List<Student> commonStudents = {["Ben","oreilly"],["Ben", "Mancini"]}

在两个列表上执行循环并执行classroomA.getfirstName().equals(classroomB.getfirstName()) 唯一的办法 ?

1 个答案:

答案 0 :(得分:0)

Here is the full crash

下面的代码从列表中获取所有Bens。如果您想要对象中的特定字段(即转换),请使用过滤器流上的映射。

  List<Student> AllBens = classA.stream().filter(Objects::nonNull).
         filter(k -> StringUtils.isNotEmpty(k.getName()) && k.getName().equalsIgnoreCase("Ben")).collect(Collectors.toList());