【发布时间】:2015-11-14 22:19:42
【问题描述】:
考虑一个具有attrib1
、attrib2
和List<Child>
属性的Parent
子类及其对应的getter 和setter。
Child
是另一个类,具有五个属性 attrib1
-attrib5
及其对应的 getter 和 setter。
现在我创建了一个List<Parent>
父级。然后我想过滤掉一个List<Parent>
,条件如下:-Child.Attrib1 > 10
;
所以我通过 Java 8 流创建了以下查询。
parent.stream().filter(e -> e.getChild().stream().anyMatch(c -> c.getAttrib1() > 10));
但问题是我会得到每个Parent
对象中的所有孩子。在这里,我只想获取List<Child>
中符合给定条件的那些子对象。
我应该如何删除 List 中不符合条件的所有子对象并获取新的 List。
【问题讨论】:
标签: java arraylist java-8 java-stream