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