Java8 Stream Api使用详解

jdk8发布至今已有几年有余,是一个影响深远且具有革命意义的版本,目前jdk版本已直奔v11.0, 发展之迅速让人始料未及。本文在假设已有 java8 lambda 语法的基础下,通过几个示例,快速上手Stream 流处理相关的 API 使用。

什么是流操作

流操作就是一条流水线,将元素放在流水线上一个个地进行处理:

1
2
3
4
5
6
7
8
9
10
11
12
13
List<User> list = Lists.newArrayList(user1,user2);
List<String> resultList =
list.
// 将集合转换成流对象
stream()
// 将List<User>遍历,将每个元素的name取出,组装成新的List<String>
.map(User::getName)
// 按照默认规则排序
.sorted()
// 只取20条数据
.limit(20)
// 收集流数据,组装成最终需要集合(List<String>)
.collect(toList())

在以上的代码中,通过短短的几行代码,行云流水般的完成了一系列操作,这些操作在 jdk7 之前,是远远不能如此简单明了而高效的。

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×