Java入门(13)Lambda表达式

序言

在业务系统中,数据一般都从sql中查询,类似使用where,order by,limit,聚合函数等,为什么还要用java8的Stream方法?

首先我们了解了集合操作数据的弊端,每次都需要循环遍历,还要创建新集合,很麻烦

Stream是流式思想,相当于工厂的流水线,对集合中的数据进行加工处理

 

  • 终结方法:返回值类型不再是Stream 类型的方法,不再支持链式调用。本小节中,终结方法包括count 和forEach 方法。
  • 非终结方法:返回值类型仍然是Stream 类型的方法,支持链式调用。(除了终结方法外,其余方法均为非终结方法。)

 

 

@Test
    public void test1() {
        List<Student> list = new ArrayList<>();
        Student s1 = new Student();
        s1.setName("a");
        s1.setAge(20);
        list.add(s1);

        Student s2 = new Student();
        s2.setName("b");
        s2.setAge(20);
        list.add(s2);

        Student s3 = new Student();
        s3.setName("c");
        s3.setAge(30);
        list.add(s3);

       List<Student> filterList = list.stream().filter(p -> p.getAge().equals(20)).collect(Collectors.toList());
       filterList.forEach(item->{
           System.out.println(item.getName());
       });

资料

https://blog.csdn.net/bitcarmanlee/article/details/70195403

SQL中那么多函数,Java8为什么还要提供重复的Stream方法,多此一举?

Java Stream

posted @ 2018-11-18 22:56  ~沐风  阅读(157)  评论(0编辑  收藏  举报