技术文章 > java >  java基础 > 正文

Stream函数在java中的使用

小妮浅浅

本教程操作环境:windows7系统、java10版,DELL G3电脑。

1.概念

它的主要作用就是对集合数据进行查找过滤等操作。有点类似于SQL的数据库操作。一句话来解释就是一种高效且易用的数据处理方式。

2.创建流

通过一个集合创建Stream

@Test
public void test1(){
    List<Student> studentList = StudentData.getStudents();
    //第一种:返回一个顺序流
    Stream<Student> stream = studentList.stream();
    //第二种:返回一个并行流
    Stream<Student> stream2 = studentList.parallelStream();
}

3.操作流

通过 filter() 方法可以从流中筛选出我们想要的元素。

public class FilterStreamDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("周杰伦");
        list.add("王力宏");
        list.add("陶喆");
        list.add("林俊杰");
        Stream<String> stream = list.stream().filter(element -> element.contains("王"));
        stream.forEach(System.out::println);
    }
}

4.终止Stream

匹配和查找

public void test1(){
        List<Student> list  = StudentData.getStudents();
        //(1)判断所有的学生年龄是否都大于20岁
        boolean allMatch = list.stream().allMatch(item -> item.getAge() > 20);
        //(2)判断是否存在学生的年龄大于20岁
        boolean anyMatch = list.stream().anyMatch(item -> item.getAge() > 20);
        //(3)判断是否存在学生叫曹操
        boolean noneMatch = list.stream().noneMatch(item -> item.getName().equals("曹操"));
        //(4)查找第一个学生
        Optional<Student> first = list.stream().findFirst();
        //(5)查找所有的学生数量
        long count = list.stream().count();
        long count1 = list.stream().filter(item -> item.getScore() > 90.0).count();
        //(6)查找当前流中的元素
        Optional<Student> any = list.stream().findAny();
        //(7)查找学生最高的分数:Student实现了comparable接口的话,可直接比较
        Stream<Double> doubleStream = list.stream().map(item -> item.getScore());
        doubleStream.max(Double::compare);
        //(8)查找学生最低的分数
}

以上就是Stream函数在java中的使用,主要分为创建、操作、终止三个步骤,Stream函数部分的使用方法也在代码中分享给了大家,更多使用可以在课后进行查询。

免费视频教程
本教程部分素材来源于网络,版权问题联系站长!
相关文章
  java打印流的输出使用
  java管道流发送线程
  java管道流写入报错
  对象流在java中的读写
  java数据流的工作原理
  java数据流进行二进制的读写
  java数据流的高级用法
  java压缩流的压缩与解压
相关视频章节
  什么是tkinter窗口
  例子3 登录窗口
  例子2 登录窗口
  例子1 登录窗口
  pack grid place 放置位置
作者信息

小妮浅浅

认证0级讲师

最近文章
python在协程中增加任务 458
python pyg2plot的原理 354
python中pyg2plot如何使用? 160
推荐视频
视频教程分类