方法包含:
list.stream().filter(项->过滤内容).collect(Collectors.toList());;
项目场景:
使用场景:对list集合中的内容进行过滤
过滤格式:list.stream().filter(项->过滤内容).collect(Collectors.toList());;
list.stream().filte练习
练习一
List<String> list=Arrays.asList("aaa","bbb","C","ddd");
List<String> collect=list.stream().filter(item->item.length()>3).collect(Collectors.toList());
练习二
//筛选出图书数量<1的项,并且将筛选出来的数据再转换为list集合
List<SysBooks> list = sysBooksService.list(query);
List<SysBooks> collect = list.stream().filter(item -> item.getBookStore().longValue() < 1L).collect(Collectors.toList());
map函数:
针对管道流中的每一个数据元素进行操作
练习一:
List<String> list = Arrays.asList("Monkey", "Lion", "Giraffe", "Lemur";
List<String> collect = list.stream().map(String::toUpperCase).collect(Collectors.toList());
System.out.println(collect); //[MONKEY, LION, GIRAFFE, LEMUR]
练习二:
List<SysBooks> list = sysBooksService.list(query);
//查看库存是否充足
List<SysBooks> collect = list.stream().filter(item -> item.getBookStore().longValue() < 1L).collect(Collectors.toList());
if(collect.size()>0){
//提示哪本图书库存不足
List<String> stringList = collect.stream().map(SysBooks::getBookName).collect(Collectors.toList());
throw new BusinessException(BusinessExceptionEnum.NO_STOCK.getCode(), stringList+BusinessExceptionEnum.NO_STOCK.getMessage());
}
更多:
如需了解更多搜索List的stream()方法