lamda总结大全

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用的,输出一些方便自己看的数据

你可能感兴趣的:(java专栏,java)