我是Java 8的新手。我有一个A类对象列表,其中A的结构如下:
class A {
int name,
boolean isActive
}
现在我有一个A类元素L的列表,在该列表中我想要更新一个名为=“test”且inactive为false的元素。
我可以通过编写for循环并创建新列表来轻松完成此任务。
但是我如何使用Java 8流API做到这一点?
答案 0 :(得分:3)
你可以这样做。
L.stream()
.filter(item-> item.getName().equals("test"))
.forEachOrdered(a -> a.setActiv(false));
我认为您的问题中的名称数据类型应为String
而不是int
答案 1 :(得分:0)
yourList.replaceAll(x -> {
if(x.getName().equals("SomeName")){
x.setIsActive(false);
return x;
}
return x;
})