java 8新特性(二) 函数式编程
一. stream流
1.1 什么是stream流
stream与传统中java使用的流不一致,区别于Java中的字节流,字符流,磁盘I/O流和网络I/O流,stream是一种数据集合的操作。
1.2 使用stream 流编程的好处(为何使用stream流)
举个栗子:思考一个问题,传统的方式,从一个List中获取所有用户的姓名,你会如何处理
List<String> userNames=new ArrayList<String>();
for(User user:users){
userNames.add(user.getUserName);
}
通过上面的代码,我们可以获取到所有用户的用户名
Java 8 出现之后使用stream流,一句话就已经搞定了
List<String> userNames=users.stream().map(item->item::getUserName).collect(Collectors.toList());
一句话,就搞定上面的内容,简单吧
1.3 如何获取stream 流
- 通过集合(collection集合 map集合无法获取)获取stream
- 通过数组获取流
- 通过Random函数获取产生随机数的流
- 自定义获取,自己创建一个数据流
二. stream流的中间操作
- 过滤操作,filter将数据流中的数据进行过滤操作
- 映射操作map 将数据流中的数据进行映射
- limit获取制定的个数
三.stream流的触发操作(终止操作)
1.Collectors流收集器
今天太晚了,有点累了,明日更新哦,打卡第一天