java8 Stream流的filter方法过滤数据

jdk1.8以上才能使用,叫内部迭代

没有写类,直接写的map,实体类也是可以用的

这样看起来简洁一点

public static void main(String args[]){
        List> list=new ArrayList<>();
        for(int i=0;i<5;i++){
            Map map=new HashMap<>();
            map.put("type",i);
            list.add(map);
        }
        System.out.println("list过滤前的数据:"+list);
        System.out.println("list过滤前的数量:"+list.size());
        //过滤获取 type=2的数据
        List> list2 = list.stream().filter((Map a) -> ("2".equals(a.get("type").toString()))).collect(Collectors.toList());
        //只获取数量也可以这样写
        Long list2Count = list.stream().filter((Map a) -> ("2".equals(a.get("type").toString()))).count();
        System.out.println("list过滤后的数据:"+list2);
        System.out.println("list过滤后的数量:"+list2Count);
        System.out.println("list过滤后的数量:"+list2.size());
   }

效果图

java8 Stream流的filter方法过滤数据_第1张图片

你可能感兴趣的:(java)