Java 8 使用匹配属性更新列表中元素的属性
我不熟悉Java8。我有一个a类对象列表,其中a的结构如下:Java 8 使用匹配属性更新列表中元素的属性,java-8,java-stream,Java 8,Java Stream,我不熟悉Java8。我有一个a类对象列表,其中a的结构如下: class A { int name, boolean isActive } 现在我有一个a类元素L的列表,在该列表中,我想用inactive=false更新name=“test”的元素 通过编写for循环并创建一个新列表,我可以很容易地做到这一点 但是,我如何使用Java8流API做到这一点呢?您可以这样做 L.stream() .filter(item-> item.getName().equals("test
class A {
int name,
boolean isActive
}
现在我有一个a类元素L的列表,在该列表中,我想用inactive=false更新name=“test”的元素
通过编写for循环并创建一个新列表,我可以很容易地做到这一点
但是,我如何使用Java8流API做到这一点呢?您可以这样做
L.stream()
.filter(item-> item.getName().equals("test"))
.forEachOrdered(a -> a.setActiv(false));
我认为在您的问题中,名称的数据类型应该是String
而不是int
yourList.replaceAll(x -> {
if(x.getName().equals("SomeName")){
x.setIsActive(false);
return x;
}
return x;
})