1.寻找一个list里某一个满足条件的一个对象,没有的话就返回null
//
List<Car> list = new ArrayList<>();
list.add(new Car("1"));
list.add(new Car("1"));
list.add(new Car("3"));
list.add(new Car("4"));
list.add(new Car("5"));
Car car = list.stream().filter(e -> e.getStr().equalsIgnoreCase("1")).findFirst().orElse(null);
System.out.println(car);
2.筛选出list满足条件的一部分数据
List<Car> collect = list.stream().filter(e -> e.getStr().equalsIgnoreCase("1")).collect(Collectors.toList());
3.如果存在数据就做一些操作
list.stream().filter(e -> e.getStr().equalsIgnoreCase("0")).findFirst().ifPresent(e->e.eat(e)); //ifPresent如果存在就执行Car的eat方法
4.遍历元素,把元素变成另外一个对象(map方法的使用)
List<HashMap> mapList = list.stream().filter(e -> e.getStr().equalsIgnoreCase("0")).
map(e -> {
HashMap map = new HashMap();
map.put(e.getStr(), "111");
return map;
}).peek(System.out::println).collect(Collectors.toList());
//peek:只针对list(如果前面有findFirst就不能用了),一般用于debug用的,输出一些方便自己看的数据