经常需要用到从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);
从上面的代码可以看出核心代码只有一句,是不是很方便。
全部评论