我有2个班级A
和B
class A
{
int id,
List<B>
}
class B
{
int id
}
现在给定List<A>
,我想过滤掉所有的[C0
例如
B.id
:
List<A>
预期结果是
{ [ id: 1, Bs: [1, 2, 3, 4, 5] ], [ id: 2, Bs: [1, 2, 3, 4, 5] ] }
如何处理
{ [ id: 1, Bs: [1, 2, 3] ], [ id: 2, Bs: [1, 2, 3] ] }
?谢谢!!
为什么不使用简单的for循环:
listB = listB.stream()
.map(a -> a.getListB().removeIf(b -> b.getId() > 3))
.collect(toList());
我不确定您是否需要for (A a : listOfAs) {
a.listOfBs.removeIf(b -> b.id > 3);
}
。
仅迭代输入Stream
的元素,然后从List
列表中删除元素:
B