Stream
本文最后更新于 301 天前,其中的信息可能已经有所发展或是发生改变。

Stream

介绍

  • java8引入的种数据处理方法,位于java.util.stream包
  • 主要用于对集合或其他数据源的操作
  • 分为三种操作,创建流,处理流和终结流

特点

  • 流本身不存储数据
  • 每一次处理流都会返回一个Stream对象(链式调用)
  • 函数式风格处理数据
  • 流操作是惰性的,不执行终结流操作,声明的操作就不会立即执行,只有执行了终结流操作,数据才会真正的处理

创建流

of()

介绍
  • Stream流的静态方法
  • 用于创建一个包含一组已知元素的流
参数
  • static Stream<T> of(T... values)

generate()

介绍
  • Stream流的静态方法
  • 用于创建一个可以无限生成元素的流
  • 生成的流是无限的,需要进行限制操作(limit方法)
参数
  • static Stream<T> generate(Supplier<T> supplier)

Arrays.stream()

介绍
  • 用于对数组生成流的操作

stream()

介绍
  • 集合类的静态方法
  • 用于对集合生成流的操作

处理流

介绍

  • 对流进行操作惰性操作
  • 返回值仍然是Stream类型

方法

方法名 描述
Stream filter(Predicate<T> predicate) 过滤流,从流中过滤符合条件的元素
Stream distinct() 筛选流,去除流中的重复元素
Stream limit(long maxSize) 截断流,使流中元素不超过给定数量,通常配合generate使用
Stream skip(long n) 跳过流,跳过流中前n个元素,元素不足返回空流
Stream peek(Consumer<T> action) 操作流,对流中的每个元素进行操作
Stream sorted([Comparator com]) 排序流,对流中元素按自然顺序进行排序,如果传入了比较器则根据比较器进行排序
Stream map(Function<T,R> function) 映射流,对流中的元素进行操作,并映射一个新的元素

终结流

介绍

  • 终结流操作,并返回对应类型的数据

方法

方法名 描述
long count() 返回流中元素数量
void forEach(Consumer<T> consumer) 迭代流中元素
T collect(Collect collect) 将流中元素转换成一个集合,通常配合集合工具类使用
T reduce(T identity,BinaryOperator<T> b) 根据identity(初始值),进行累积操作,最后返回累积数据
Optional<T> reduce(BinaryOperator<T> b) 没有初始值,进行累积操作,最后返回累积数据.该流可能为空,不存在数据进行计算
boolean anyMatch(Predicate<T> predicate) 检查流中某个元素是否满足条件
boolean allMatch(Predicate<T> predicate) 检查流中所有元素是否满足条件
boolean noneMatch(Predicate<T> predicate) 检查流中所有元素是否不满足条件

工具类

Collectors

介绍
  • java.util.stream
  • 收集器
  • 用于将流中元素转换到不同类型的结果容器中
方法
方法 描述
toList() 返回收集List元素的收集器
toSet() 返回收集Set元素的收集器
toMap() 返回收集Map元素的收集器
joining(delimiter,prefix,suffix) 返回将元素拼接成字符串的收集器,支持分隔符,前缀,后缀
groupingBy
partitioningBy()
counting()
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇