假设我有一个类的学生包含在字段中: 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"]}在两个列表上执行for循环和执行classroomA.getfirstName().equals(classroomB.getfirstName())是唯一的方法吗?
发布于 2016-03-31 05:53:12
下面的代码从列表中获取所有的Ben。如果您想要对象中的特定字段(这是转换),那么在filter stream上使用map。
List<Student> AllBens = classA.stream().filter(Objects::nonNull).
filter(k -> StringUtils.isNotEmpty(k.getName()) && k.getName().equalsIgnoreCase("Ben")).collect(Collectors.toList());https://stackoverflow.com/questions/36320336
复制相似问题