欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java8新特性-Stream

程序员文章站 2022-06-15 17:21:02
...
  • 1.8版本新加的stream api,java.util.stream.xx 相关包。
  • 以一种声明的方式处理数据。(更简洁,优雅,性能)
  • 例子(常用方法)

生成流

在 Java 8 中, 集合接口有两个方法来生成流:

  • stream() − 为集合创建串行流。
  • parallelStream() − 为集合创建并行流。

Java8新特性-Stream

public static void main(String[] args) {
    List list1 = Arrays.asList("Lambda1", "Lambda2", "Lambda3");
    Stream Stream1= list1.stream();
    Stream Streamparallel= list1.parallelStream();

   // System.out.println(Stream1.count());
}

forEach

Stream 提供了新的方法 ‘forEach’ 来迭代流中的每个数据。

Java8新特性-Stream

map

map 方法用于映射每个元素到对应的结果(可以批量转大小写,做计算等。。。)
(1)全部转大写。
Java8新特性-Stream
(2) 集合每个元素后都加字符串“tangtang”。Java8新特性-Stream

filter

filter 方法用于通过设置的条件过滤出元素。使用 filter 方法过滤出集合中等于Lambda1字符串的个数:

Java8新特性-Stream

limit

limit 方法用于获取指定数量的流。 以下代码片段使用 limit 方法打印出 1 条数据:

Java8新特性-Stream

sorted
sorted 方法用于对流进行排序。

Java8新特性-Stream
Collectors

Collectors 类实现了很多归约操作,例如将流转换成集合和聚合元素。Collectors 可用于返回列表或字符串:

Java8新特性-Stream
统计
另外,一些产生统计结果的收集器也非常有用。它们主要用于int、double、long等基本类型上,它们可以用来产生类似如下的统计结果。

Java8新特性-Stream

只是常用函数,根据具体业务自行扩展。
Redis 5.0 也有相应Stream概念。详情请移步Redis系列。

相关标签: JAVA基础到进阶