• 概念

    对数据使用Stream流的方式操作完毕后,可以把流中的数据收集到集合中。

  • 常用方法

    方法名 说明
    R collect(Collector collector) 把结果收集到集合中
  • 工具类Collectors提供了具体的收集方式

    方法名 说明
    public static <T> Collector toList() 把元素收集到List集合中
    public static <T> Collector toSet() 把元素收集到Set集合中
    public static Collector toMap(Function keyMapper,Function valueMapper) 把元素收集到Map集合中
  • 代码演示

public class CollectDemo {public static void main(String[] args) {//创建List集合对象List<String> list = new ArrayList<String>();list.add("林青霞");list.add("张曼玉");list.add("王祖贤");list.add("柳岩");/*//需求1:得到名字为3个字的流Stream<String> listStream = list.stream().filter(s -> s.length() == 3);//需求2:把使用Stream流操作完毕的数据收集到List集合中并遍历List<String> names = listStream.collect(Collectors.toList());for(String name : names) {System.out.println(name);}*///创建Set集合对象Set<Integer> set = new HashSet<Integer>();set.add(10);set.add(20);set.add(30);set.add(33);set.add(35);/*//需求3:得到年龄大于25的流Stream<Integer> setStream = set.stream().filter(age -> age > 25);//需求4:把使用Stream流操作完毕的数据收集到Set集合中并遍历Set<Integer> ages = setStream.collect(Collectors.toSet());for(Integer age : ages) {System.out.println(age);}*///定义一个字符串数组,每一个字符串数据由姓名数据和年龄数据组合而成String[] strArray = {"林青霞,30", "张曼玉,35", "王祖贤,33", "柳岩,25"};//需求5:得到字符串中年龄数据大于28的流Stream<String> arrayStream = Stream.of(strArray).filter(s -> Integer.parseInt(s.split(",")[1]) > 28);//需求6:把使用Stream流操作完毕的数据收集到Map集合中并遍历,字符串中的姓名作键,年龄作值Map<String, Integer> map = arrayStream.collect(Collectors.toMap(s -> s.split(",")[0], s -> Integer.parseInt(s.split(",")[1])));Set<String> keySet = map.keySet();for (String key : keySet) {Integer value = map.get(key);System.out.println(key + "," + value);}}
}

Stream流的收集操作相关推荐

  1. Java中的Stream流以及收集操作

    一.Stream流的生成方式 1.Stream流的使用: <1>:生成流:通过数据源(集合.数组等)生成流 <2>:中间操作:一个流后面可以跟随零个或多个中间操作,其目的主要是 ...

  2. [Java基础]Stream流的收集操作

    代码如下: package CollectPack;import java.util.*; import java.util.stream.Collectors; import java.util.s ...

  3. java 合并流_Java Stream 流实现合并操作示例

    本文实例讲述了Java Stream 流实现合并操作.分享给大家供大家参考,具体如下: 1. 前言 Java Stream Api提供了很多有用的 Api 让我们很方便将集合或者多个同类型的元素转换为 ...

  4. Java中Stream流的中间操作步骤

    Stream流的中间操作 前提 public static List<Emploeer> getEmploer(){List<Emploeer> list = new Arra ...

  5. JDK1.8 升级这么久!Stream 流的规约操作有哪些?

    前段时间介绍了部分 Stream常见接口方法,理解起来并不困难,但Stream的用法不止于此,本节我们将仍然以Stream为例,介绍流的规约操作.  规约操作又被称作折叠操作,是通过某个连接动作将所 ...

  6. Java 8 Stream流的常见操作

    Stream流的使用 在 Java 8 中, 集合接口有两个方法来生成流: stream() − 为集合创建串行流.parallelStream() − 为集合创建并行流. 串行流 如果是数组的话,可 ...

  7. Java8中Stream流对集合操作

    java8中Stream流引入函数式编程思想,主要配合各种接口.lambda表达式.方法引用等方式,为集合的遍历.过滤.映射等提供非常"优雅"的操作方式. Student.java ...

  8. java8新特性 Stream流的优雅操作

    1. 使用传统的方式,遍历集合,对集合中的数据进行过滤 //创建一个List集合,存储姓名List<String> list = new ArrayList<>();list. ...

  9. Java8新特性stream流的优雅操作

    文章目录 原因是因为我管理的小组提交代码被我review到了,发现只有个别同学使用到了stream流,所以出此blog,希望大家都写出优雅的代码 原因是因为我管理的小组提交代码被我review到了,发 ...

最新文章

  1. 腾讯云物联网平台产品全面升级,全新生态运营策略构建消费电子智能生态
  2. one方法报错 select_【总结】Pandas DataFrame 使用方法
  3. [转载] 对称加密与非对称加密
  4. 开发日记-20190405
  5. Spring 基于xml配置方式的AOP
  6. 三个箭头循环标志_沧州交通标志杆直销
  7. C++STL的stack容器
  8. 全国计算机等级考试 备考,全国计算机等级考试经验:如何调整备考心态
  9. Android开发之设置Dialog外部页透明的方法亲测可用
  10. json类的解析,调试实例
  11. Win10 + Python + MXNet + VS2015配置
  12. android readonly file system,安卓ROOT权限下“Read-only file sytem”解决办法
  13. 7、Java格式注意要点
  14. java 多线程操作List,已经做了同步synchronized,还会有ConcurrentModificationException,知道为什么吗?...
  15. 法斗几个月长鼻筋_带锯罢工了,木工小哥检查问题出在哪里?分享带锯使用九个月感受...
  16. Tomcat8安装步骤-win10-64位系统
  17. 1.6 Image Rotation
  18. centos 下载文件很慢_百度云盘上传文件和下载文件慢的解决办法
  19. cannot find -lxxx
  20. 随心测试_Python Se_005鼠标悬停操作

热门文章

  1. 软件工程综合实践专题第三次个人博客作业
  2. iPhone、iPad的图片可以同一个名字
  3. 【JavaFx教程】第三部分:与用户的交互
  4. [agc014d] Black and White Tree(玄学树D)
  5. ubuntu服务器安装指南
  6. 陌生的是人心,是人性,是社会,是世道
  7. 配置sql server 2000以允许远程访问
  8. 2015-12-03 AD中用户属性Lastlogon与LastlogonTimeStamp的区别
  9. Javascript基础系列之(六)循环语句(do while循环)
  10. [Android]如何减小APK的大小