美文网首页
java8集合流式操作

java8集合流式操作

作者: 奥雷里亚诺下划线_上校 | 来源:发表于2018-12-15 16:29 被阅读0次

一. 基本概念

1.1 为什么加入 集合的流式操作

    在JDK8 的Stream 是一个受到 函数式编程 和 多核时代影响而产生的东西。很多时候我们需要到底层返回数据,上层再对数据进行遍历,进行一些数据统计,但是之前的Java API 中很少有这种方法,这就需要我们自己来 Iterator 来遍历,如果JDK 能够为我们提供一些这种方法,并且能够为我们优化就好了。
    所以JDK8加入 了 java.util.stream包,实现了集合的流式操作,流式操作包括集合的过滤,排序,映射等功能。根据流的操作性,又可以分为 串行流 和 并行流。根据操作返回的结果不同,流式操作又分为中间操作和最终操作。大大方便了我们对于集合的操作。
[中间操作]:返回流本身。
[最终操作]:返回一特定类型的结果。

1.2 什么是 流

    Stream 不是 集合元素,也不是数据结构,它相当于一个 高级版本的 Iterator,不可以重复遍历里面的数据,像水一样,流过了就一去不复返。它和普通的 Iterator 不同的是,它可以并行遍历,普通的 Iterator 只能是串行,在一个线程中执行。

2 中间操作 和最终操作

【中间操作】:

  • filter(): 对元素进行过滤
  • sorted():对元素排序
  • map():元素映射
  • distinct():去除重复的元素

【最终操作】:
-forEach():遍历每个元素。
-reduce():把Stream 元素组合起来。例如,字符串拼接,数值的 sum,min,max ,average 都是特殊的 reduce。
-collect():返回一个新的集合。
-min():找到最小值。
-max():找到最大值。

filter操作(过滤)

List<Integer> list = new ArrayList();
        for(int i = 1 ; i <= 5; ++i){
            list.add(i);
        }
        list.stream().filter(n -> n>2).forEach(System.out :: println);

相关文章

  • Java8流操作,转载

    原文地址: 深蓝至尊 一. 流式处理简介 在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得...

  • JavaStream 常用操作(二)

    一. 流式处理简介在我接触到java8流式处理的时候,我的第一感觉是流式处理让集合操作变得简洁了许多,通常我们需要...

  • Java8 新特性之流式数据处理

    摘要: java8的流式处理极大了简化我们对于集合、数组等结构的操作,让我们可以以函数式的思想去操作,本篇文章将探...

  • reactive stream协议详解

    背景 Stream大家应该都很熟悉了,java8中为所有的集合类都引入了Stream的概念。优雅的链式操作,流式处...

  • JAVA8中Lambda和Stream

    Java8于2014年3月份发布,其主要更新的特性有:函数式接口、Lambda 表达式、集合的流式操作、注解的更新...

  • Lambda应用

    原创文章,转载请注明原文章地址,谢谢! Java8中的流式处理,让集合操作变得简单,通常需要用多行代码才能完成的操...

  • java8集合流式操作

    一. 基本概念 1.1 为什么加入 集合的流式操作     在JDK8 的Stream 是一个受到 函数式编程 和...

  • JAVA基础-JAVA8 对集合的增强

    Java8流、流操作集合 Predicate 谓词对象 Java8起为Collection集合新增了一个remov...

  • java8流式操作

    原文链接http://zhhll.icu/2020/java%E5%9F%BA%E7%A1%80/java8/ja...

  • Java8 的 Stream 流式操作之王者归来

    原文链接:blog.ouyangsihai.cn >> Java8 的 Stream 流式操作之王者归来 相对于J...

网友评论

      本文标题:java8集合流式操作

      本文链接:https://www.haomeiwen.com/subject/xrsahqtx.html