概述
tream 是用函数式编程方式在集合类上进行复杂操作的工具,其集成了Java 8中的众多新特性之一的聚合操作,开发者可以更容易地使用Lambda表达式,并且更方便地实现对集合的查找、遍历、过滤以及常见计算等。
聚合操作
数据类
public class Student {
int no; String name; String sex; float height; public Student(int no, String name, String sex, float height) {
this.no = no; this.name = name; this.sex = sex; this.height = height; } **** } Student stuA = new Student(1, "A", "M", 184); Student stuB = new Student(2, "B", "G", 163); Student stuC = new Student(3, "C", "M", 175); Student stuD = new Student(4, "D", "G", 158); Student stuE = new Student(5, "E", "M", 170); List<Student> list = new ArrayList<>(); list.add(stuA); list.add(stuB); list.add(stuC); list.add(stuD); list.add(stuE);
打印出Sex为G的对象
Iterator迭代方式
Iterator<Student> iterator = list.iterator(); while(iterator.hasNext()) {
Student stu = iterator.next(); if (stu.getSex().equals("G")) {
System.out.println(stu.toString()); } }
打印出Sex为G的对象
聚合操作
list.stream() .filter(student -> student.getSex().equals("G")) .forEach(student -> System.out.println(student.toString()));
首先,通过stream方法创建Stream,然后再通过filter方法对源数据进行过滤,最后通过foeEach方法进行迭代。在聚合操作中,与Labda表达式一起使用,显得代码更加的简洁。这里值得注意的是,我们首先是stream方法的调用,其与iterator作用一样的作用一样,该方法不是返回一个控制迭代的 Iterator 对象,而是返回内部迭代中的相应接口: Stream,其一系列的操作都是在操作Stream,直到feach时才会操作结果,这种迭代方式称为内部迭代。
更多Stream聚合操作:
Stream的操作分类
今天的文章 Java 8 Stream的基本详解分享到此就结束了,感谢您的阅读。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/97555.html