list stream:通过filter和findAny查找List中满足条件的某一个对象
public static void main(String[] args) {List<User> userList = new ArrayList<>();User one = new User();one.setId(1);one.setAge(2);one.setName("h...
·
public static void main(String[] args) {
List<User> userList = new ArrayList<>();
User one = new User();
one.setId(1);
one.setAge(2);
one.setName("haha");
User two = new User();
two.setId(10);
two.setAge(5);
two.setName("gaga");
userList.add(one);
userList.add(two);
//如果满足条件的对象存在
User user = userList.stream().filter(t -> 1 == t.getId()).findAny().get();
System.out.println("have: " + user.toString());
//如果对象不存在,则会抛出异常:java.util.NoSuchElementException: No value present
User e = userList.stream().filter(t -> 3 == t.getId()).findAny().get();
System.out.println(e);
//如果对象不存在则返回特定对象
User n = userList.stream().filter(t -> 3 == t.getId()).findAny().orElse(null);
System.out.println(n);
//判断对象是否存在
boolean b = userList.stream().filter(t -> 3 == t.getId()).findAny().isPresent();
System.out.println("noHaving: " + b);
}
public class User {
private Integer id;
private Integer age;
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
private String name;
@Override
public String toString() {
return "User{" +
"id=" + id +
", age=" + age +
", name='" + name + '\'' +
'}';
}
更多推荐
所有评论(0)