Java 8 Stream的基本详解

Java 8 Stream的基本详解概述 tream 是用函数式编程方式在集合类上进行复杂操作的工具 其集成了 Java8 中的众多新特性之一的聚合操作 开发者可以更容易地使用 Lambda 表达式 并且更方便地实现对集合的查找 遍历 过滤以及常见计算等

概述

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的基本详解分享到此就结束了,感谢您的阅读。
编程小号
上一篇 2024-12-31 22:06
下一篇 2024-12-31 22:01

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/97555.html