流
如果您使用的是Java 8,也许您可以尝试如下方法:
public boolean containsName(final List<MyObject> list, final String name){
return list.stream().filter(o -> o.getName().equals(name)).findFirst().isPresent();
}
或者,您可以尝试如下操作:
public boolean containsName(final List<MyObject> list, final String name){
return list.stream().map(MyObject::getName).filter(name::equals).findFirst().isPresent();
}
如果 包含名为 .如果要对 每个 s 执行一个操作,那么您可以尝试如下操作:true
List<MyObject>
MyObject
name
MyObject
getName().equals(name)
public void perform(final List<MyObject> list, final String name){
list.stream().filter(o -> o.getName().equals(name)).forEach(
o -> {
//...
}
);
}
其中 表示实例。o
MyObject
或者,正如评论所建议的那样(感谢MK10),您可以使用以下方法:Stream#anyMatch
public boolean containsName(final List<MyObject> list, final String name){
return list.stream().anyMatch(o -> o.getName().equals(name));
}