首页 > 编程语言 >20230618 java.util.stream.Stream

20230618 java.util.stream.Stream

时间:2023-06-19 11:13:05浏览次数:61  
标签:mapper java Stream Builder 元素 流中 util 20230618

介绍

  • java.util.stream.Stream
  • public interface Stream<T> extends BaseStream<T, Stream<T>>

API

static

  • builder
    • 返回 Builder

创建流:

  • of
  • ofNullable
  • empty

创建无限流:

  • iterate

  • generate

  • concat

    • <T> Stream<T> concat(Stream<? extends T> a, Stream<? extends T> b)
    • 合并流

public

中间操作

filter , map , flatMap

  • filter
    • Stream<T> filter(Predicate<? super T> predicate);
  • map, mapToInt, mapToLong, mapToDouble,
    • <R> Stream<R> map(Function<? super T, ? extends R> mapper);
  • flatMap, flatMapToInt, flatMapToLong, flatMapToDouble
    • <R> Stream<R> flatMap(Function<? super T, ? extends Stream<? extends R>> mapper);
    • 产生一个流,它是通过将 mapper 应用于当前流中所有元素所产生的结果连接到一起而获得的(注意,这里的每个结果都是一个流)
  • mapMulti, mapMultiToInt, mapMultiToLong, mapMultiToDouble
    • <R> Stream<R> mapMulti(BiConsumer<? super T, ? super Consumer<R>> mapper)
    • 每一个流元素都会调用 mapper ,并且所有在调用期间传递给 Consumer 的元素都会被添加到结果流中

抽取子流和组合流

  • limit
    • 产生一个流,包含当前流中最前的 n 个元素
  • skip
    • limit
    • 包含当前流中除了最前的 n 个元素
  • takeWhile
    • Stream<T> takeWhile(Predicate<? super T> predicate)
    • 在谓词为真时收集元素,在第一个为假的元素位置终止
    • 不同与 filter 会遍历所有元素
  • dropWhile
    • takeWhile
    • 在谓词为真时丢弃元素,在第一个为假的元素位置开始收集
  • concat
    • 合并流

其他

  • distinct
  • sorted
  • peek

终止操作

  • min

  • max

  • count

  • forEach

  • forEachOrdered

  • toArray

  • toList

  • reduce

    • 约简
  • collect

    • 收集
  • anyMatch

  • noneMatch

  • findFirst

  • findAny

Builder

介绍

  • java.util.stream.Stream.Builder
  • public interface Builder<T> extends Consumer<T>

API

  • add
    • accept
  • build
    • 返回 Stream

继承 Consumer

  • accept
  • andThen

标签:mapper,java,Stream,Builder,元素,流中,util,20230618
From: https://www.cnblogs.com/huangwenjie/p/17490407.html

相关文章

  • 基于JAVA客户关系管理系统
    客户关系管理系统的设计与实现开发对提高期工作的效率和质量具有重要意义。本文从客户关系管理系统的作用出发,详细阐述了客户关系管理系统的开发、操作流程和涉及的一些关键技术。本文首先进行了项目概述,简单介绍了项目开发的背景、目的及意义,明确了客户关系管理系统存在的局限。在......
  • java中的深拷贝和浅拷贝、Object类中的clone()
    概念浅拷贝:复制基本数据类型的值,以及实例对象的引用地址,拷贝出来的对象,内部类属性指向的是同一个对象深拷贝:即会拷贝基本数据类型的值,也会针对实例对象的引用地址所指向的对象进行复制,拷贝出来的对象,内部类属性指向的不是同一个对象。Object类中的clone()方法。默认是浅拷贝......
  • Java的Comparable和Comparator
    Java的Comparable和Comparator当我们使用自定义Java对象执行比较时,我们可以使用Comparable或Comparator接口。Java可比对象Comparable接口对实现它的每个类的对象强加了总体排序。此排序称为类的自然排序。该类的compareTo()方法必须实现以提供自然的比较。Java比较......
  • Java多态
    Java多态多态基础Java多态,多态是面向对象特征之一,它允许我们以不同的方式执行单个动作。例如,假设我们有一个Animal类,它有一个方法sound()。由于这是一个泛型类,所以我们不能给它一个实现,如:汪汪,喵喵等。我们不得不给出一个通用的消息。publicclassAnimal{...pub......
  • Kotlin与Java互调原理项目实战
    数天前我将我java开发的工程,全部转换成了kotlin形式的工程。如果你也想做,本身也有一定的java开发安卓程序的功底。本文将比较适合你。创建kotlin工程,拷贝类文件xml文件等核心文件到工程目录下,形成一个kotlin底子的java代码组成的工程,然后通过ctrl+shift+alt+k快捷代码逐个转换......
  • java 如何字符串中提取数字,这个方法真的很不错
    Java中提取字符串中的数字,可以使用正则表达式或非正则表达式的方法。1.使用正则表达式可以使用正则表达式"\d+"来匹配字符串中的数字,并使用Matcher和Pattern类实现。importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassExtractNumbersFromString......
  • java 如何字符串中提取数字,这个方法真的很不错
    Java中提取字符串中的数字,可以使用正则表达式或非正则表达式的方法。1.使用正则表达式可以使用正则表达式"\d+"来匹配字符串中的数字,并使用Matcher和Pattern类实现。importjava.util.regex.Matcher;importjava.util.regex.Pattern;publicclassExtractNumbersFromString......
  • Java判断null的几种方式
    组内codereview时,有同学提到字符串判断空值的写法,如下两种,(1)null在后,@TestpublicvoidtestDemo1(){Stringstr=null;if(str==null){System.out.println("null在后");return;}}(2)null在前,@TestpublicvoidtestDemo2(){Stringstr=null;if(n......
  • java课程设计
    importjava.sql.*;importstaticjava.sql.DriverManager.*;importjavax.swing.*;importjava.awt.*;importjava.awt.event.*;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Random;classConnect{//建立数据库的连接Connecti......
  • 10个ai算法常用库java版
    根据AI项目的具体需求,可以选择最合适的库或框架,并开始尝试使用不同的算法来构建AI解决方案。1.Deeplearning4j 它是一个用于Java和Scala的开源分布式深度学习库。Deeplearning4j支持各种深度学习架构,包括卷积神经网络(CNN)、递归神经网络(RNN)和深度信念网络(DBN......