Java8 stream filter map

java8 中的stream filter map 组合使用能很好的代替for 循环去处理逻辑,而且代码简单明了

    public static void main(String[] args) {
        List<A> alist = new ArrayList<>();
        alist.add(new A(1, "路飞"));
        alist.add(new A(6, "路飞"));
        alist.add(new A(2, "娜美"));
        alist.add(new A(3, "乔巴"));
        alist.add(new A(4, "乌索普"));
        alist.add(new A(5, "索罗"));
//       获取第一个符合条件的对象
        Optional<A> first = alist.stream().filter(a -> "路飞".equals(a.getName())).findFirst();
        if (first.isPresent()) {
            A a = first.get();
            System.out.println(a.getName());
            System.out.println(a.getAge());
        }
//      获取符合条件的集合
        List<A> collect = alist.stream().filter(a -> "路飞".equals(a.getName())).collect(Collectors.toList());
        System.out.println(collect.size());
//      获取符合条件的对象的属性
        List<Integer> ageList = alist.stream().map(A::getAge).collect(Collectors.toList());
        System.out.println(ageList);
    }

运行结果:

猜你喜欢

转载自www.cnblogs.com/spring20190213dream/p/10620072.html