Java8使用stream().filter()过滤List对象

2021-10-19  本文已影响0人  Yluozi

直接上代码:

public class Demo {
    public static void main(String[] args) {
        List<DSesl> list1 = new ArrayList<>();
        DSesl d1 =new DSesl();
        d1.setId(1);
        d1.setJshj("1");
        DSesl d2 =new DSesl();
        d2.setId(2);
        d2.setJshj("2");
        DSesl d3 =new DSesl();
        d3.setId(3);
        d3.setJshj("3");
        list1.add(d1);
        list1.add(d2);
        list1.add(d3);
        long count  = list1.stream().filter(item-> "1".equals(item.getJshj())).count();
        System.out.println(JsonUtils.getInstance().toJsonString(list1));
        System.out.println(count);
        List<DSesl> list2  = list1.stream().filter(item-> "1".equals(item.getJshj())).collect(Collectors.toList());
        System.out.println(JsonUtils.getInstance().toJsonString(list2));
    }
}

image.png

如上代码所示,将list对象中符合条件的值获取出来并计数。
注意:1)控制台打印对象使用JsonUtils.getInstance().toJsonString(xxx)
2)xxx.equals()方法使用时,常量放前面防止空指针异常

上一篇 下一篇

猜你喜欢

热点阅读