Java8新特性Stream之Collectors(toList()、toSet()、toCollection()、joining()、partitioningBy()、collectingAndT)

Java8新特性Stream之Collectors(toList()、toSet()、toCollection()、joining()、partitioningBy()、collectingAndT)将流中的数据转成集合类型 一 将数据收集进一个列表 Stream 转换为 List 允许重复值 有顺序 1 将数据收集进一个列表 Stream 转换为 List 允许重复值 有顺序 Stream lt String gt language Stream of java python C amp

//1.将数据收集进一个列表(Stream 转换为 List,允许重复值,有顺序) //创建流 Stream 
  
    language = Stream.of("java", "python", "C++","php","java"); List 
   
     listResult = language.collect(Collectors.toList()); result.forEach(System.out::println); 
    
  
//2.stream()代替流 List 
  
    list = Arrays.asList("java", "python", "C++","php","java"); List 
   
     listResult = list.stream().collect(Collectors.toList()); listResult.forEach(System.out::println); 
    
  
//1.将数据收集进一个集合(Stream 转换为 Set,不允许重复值,没有顺序) Stream 
  
    language = Stream.of("java", "python", "C++","php","java"); Set 
   
     setResult = language.collect(Collectors.toSet()); setResult.forEach(System.out::println); 
    
  
 List 
  
    list = Arrays.asList("java", "python", "C++","php","java"); //用LinkedList收集 List 
   
     linkedListResult = list.stream().collect(Collectors.toCollection(LinkedList::new)); linkedListResult.forEach(System.out::println); System.out.println("--------------"); //用CopyOnWriteArrayList收集 List 
    
      copyOnWriteArrayListResult = list.stream().collect(Collectors.toCollection(CopyOnWriteArrayList::new)); copyOnWriteArrayListResult.forEach(System.out::println); System.out.println("--------------"); //用TreeSet收集 TreeSet 
     
       treeSetResult = list.stream().collect(Collectors.toCollection(TreeSet::new)); treeSetResult.forEach(System.out::println); 
      
     
    
  
 List 
  
    list = Arrays.asList("java", "python", "C++","php","java"); //直接将输出结果拼接 System.out.println(list.stream().collect(Collectors.joining())); //每个输出结果之间加拼接符号“|” System.out.println(list.stream().collect(Collectors.joining(" | "))); //输出结果开始头为Start--,结尾为--End,中间用拼接符号“||” System.out.println(list.stream().collect(Collectors.joining(" || ", "Start--", "--End"))); 
  
 List 
  
    list = Arrays.asList("java", "python", "C++","php","java"); Map 
   
     > result = list.stream().collect(partitioningBy(s -> s.length() > 2)); 
    
  

六、collectingAndThen(),收集之后继续做一些处理。例如

 List 
  
    list = Arrays.asList("java", "python", "C++","php","java"); //收集后转换为不可变List ImmutableList 
   
     collect = list.stream().collect(Collectors.collectingAndThen(Collectors.toList(), ImmutableList::copyOf)); 
    
  
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/212419.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月18日 下午8:05
下一篇 2026年3月18日 下午8:05


相关推荐

  • java的class文件_java class是什么意思

    java的class文件_java class是什么意思根据 Java 虚拟机规范,类文件由单个 ClassFile 结构组成:ClassFile { u4 magic; //Class 文件的标志 u2 minor_version;//Class 的小版本号 u2 major_version;//Class 的大版本号 u2 constant_pool_count;//常量池的数量 cp_info consta

    2022年8月8日
    5
  • JS数组扁平化_扁平化js

    JS数组扁平化_扁平化jsJS 扁平化 (flatten) 数组

    2022年4月21日
    42
  • PyCharm入门教程——用户界面导览「建议收藏」

    PyCharm入门教程——用户界面导览「建议收藏」JetBrainsPyCharm是一种PythonIDE,其带有一整套可以帮助用户在使用Python语言开发时提高其效率的工具。此外,该IDE提供了一些高级功能,以用于Django框架下的专业Web开发。通过这篇文章,您可以了解PyCharm用户界面是如何组织的,以帮助您在工作环境中找到自己的方式。当您第一次运行PyCharm或没有打开任何项目时,PyCharm将显示欢迎屏幕,允许快速…

    2022年8月28日
    6
  • IOS版的MT4软件如何下载安装「建议收藏」

    IOS版的MT4软件如何下载安装「建议收藏」T4的版本总体来说还是比较全。包含了电脑版、安卓版/ios版,以及mac版。那么今天来重点讲解一下IOS版本的mt4如何下载。下载方式主要分以下2种:(1)在网页上获取安装包,通常mt4。yhtz。cc涵盖了多个版本的安装包,选择你需要的IOS即可下载到手机上后,然后就进入安装流程,点击下一步,下一步,总体来说,就是跟着安装提示走即可。(2)IOS属于手机版,IOS是可以在苹果应用商店下载的。下载流程就是:搜索Mt4,然后点击下载,一般会自动安装哦,就跟下载其他的客户端是一样的。下载安装好后

    2022年8月15日
    5
  • Charle分析实战

    Charle分析实战xswlUbuntu20 04iphone 部署环境 Linux ubuntu amp amp Centos 前言讲的是思路 安装抓包工具 amp amp 报文分析安装 Charlewget q O https www charlesproxy com packages apt PublicKey sudoapt keyaddsudosh c echodebhttps www charlesproxy com packages apt c

    2026年3月19日
    2
  • 接口测试抓包工具_接口测试请求头里面有哪些内容

    接口测试抓包工具_接口测试请求头里面有哪些内容1、Poster    Poster为Firefox浏览器的一个插件,主要用来模拟发并HTTP请求。随着Chrome浏览器的流行,它也出了chrome版本:ChromePoster  在Fiefox浏览器中的安装非常简单。首先,打开Fiefox浏览器,菜单栏“工具”–> “添加组件”,搜索“poster”,在搜索例表中点击“安装”,然后重启浏览器即可。  打开方法:菜

    2025年9月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号