两种场景:
1、过滤后使用collect收集 返回一个list
List<String> list= Lists.newArrayList("1","2","4","5","9");
//filter的使用
List<String> list1=list.stream().filter(s -> !s.equals("2")).collect(Collectors.toList());
list1.forEach(s -> System.out.println(s));
2、返回处理结果 true还是false 返回是false的将被过滤
List<String> list= Lists.newArrayList("1","2","4","5","9");
list.stream().filter(s -> {
if (s.equals("2")){
List<String> result=Lists.newArrayList("8","8");
return true;
}
return false;
}).forEach(s -> System.out.println("cehsi"+s));
//某段代码rows是一个List<MergeRow>
rows.stream().filter(mergeRow -> {
String waybillNo = (String) mergeRow.toRow().get("waybill_no");
List<Tuple<Object, Map<String, Object>>> list = map.get(waybillNo);
return CollectionUtils.isNotEmpty(list);
}).forEach(........);