Java中如何实现列表对象(List)的灵活查找?

码云
2020-12-07 17:13

经常需要用到从List对象中查到特定的元素,当然我们可以使用遍历的方式来实现,但总觉得有点啰嗦,这里推荐使用Stream的方式实现元素的灵活查找,参考以下示例代码:

public class Customer {

    private int id;
    private String name;
    //其他省略
}

//建立测试数据
List<Customer> customers = new ArrayList<>();
customers.add(new Customer(1, "Jack"));
customers.add(new Customer(2, "James"));
customers.add(new Customer(3, "Kelly"));

//实现查找,找到则返回匹配的对象,找不到则返回null
Customer james = customers.stream()
  .filter(customer -> "James".equals(customer.getName()))
  .findAny()
  .orElse(null);

从上面的代码可以看出核心代码只有一句,是不是很方便。

全部评论