本章节我们来详细讲讲 Java 8 流 ( stream ) 收集器 ( Collectors ) 中的 joining() 方法。该方法会返回一个 Collectors 实例,方便在流收集器上的链式操作。

Collectors.joining() 方法以遭遇元素的顺序拼接元素。我们可以传递可选的拼接字符串、前缀和后缀

joinning() 方法定义
假设我们的流中有四个元素 [“A”,“B”,“C”,“D”],那么我们就可以按照以下方式来收集它们

一、joining()
joinning() 无参数方法会返回一个 Collectors 实例,并且以空字符串 ( “” ) 来拼接收集到的所有元素。例:

public class join{public static void main(String[] args) {List<String> list = Arrays.asList("A","B","C","D");String result=  list.stream().collect(Collectors.joining());System.out.println(result);//结果ABCD}}

二、joining(CharSequence delimiter)
joining(CharSequence delimiter) 接受一个参数字符串序列作为拼接符,并返回一个 Collectors 实例。假如我们传递的拼接符为 “-” 。那么输出结果为 A-B-C-D。例:

public class join{public static void main(String[] args) {List<String> list = Arrays.asList("A","B","C","D");String result=  list.stream().collect(Collectors.joining("-"));System.out.println(result);//结果A-B-C-D}}

三、joining(delimiter, prefix, suffix)
joining(delimiter, prefix, suffix)方法返回一个Collector收集器,它以遇见顺序将由指定分隔符分隔的输入元素与指定的前缀和后缀连接起来。

public class join{public static void main(String[] args) {List<String> list = Arrays.asList("A","B","C","D");String result=  list.stream().collect(Collectors.joining(",","[","]"));System.out.println(result);//结果: [A,B,C,D]}}

Java8 Collectors.joining() 详解相关推荐

  1. Java 8 新特性|Collectors.joining() 详解

    方法定义 Java 8 流 ( stream ) 收集器 ( Collectors ) 中的 joining() 方法会返回一个 Collectors 实例,方便在流收集器上的链式操作. Collec ...

  2. Java8 Date API 详解 - LocalDate,LocalDateTime,Instant

    转载来源:https://www.journaldev.com/2800/java-8-date-localdate-localdatetime-instant Java8 Date API 详解 - ...

  3. Java8函数式编程详解

    Java8 函数式编程详解 Author:Dorae Date:2017年11月1日23:03:26 转载请注明出处 说起Java8,可能很多人都已经知道其最大的改进,就是引入了Lambda表达式与S ...

  4. Java8 Lambda表达式详解手册及实例

    先贩卖一下焦虑,Java8发于2014年3月18日,距离现在已经快6年了,如果你对Java8的新特性还没有应用,甚至还一无所知,那你真得关注公众号"程序新视界",好好系列的学习一下 ...

  5. Java8 Stream 语法详解 用法实例

    本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A ...

  6. java8 方法引用详解_Java8中如何通过方法引用获取属性名详解

    前言 在我们开发过程中常常有一个需求,就是要知道实体类中Getter方法对应的属性名称(Field Name),例如实体类属性到数据库字段的映射,我们常常是硬编码指定 属性名,这种硬编码有两个缺点. ...

  7. ### java8之collector详解,以及结合toMap,sorted,groupingBy使用例子

    最近接触到java8的collector功能,网上查了下资料学习,这里记录一下. collect方法,它是一个能够把stream管道中的结果集装进一个List集合的终极操作. collect是一个把s ...

  8. java8 Stream语法详解

    些Stream的例子可能让你产生疑惑,本文将会详细讲解Stream的使用方法(不会涉及Stream的原理,因为这个系列的文章还是一个快速学习如何使用的). 1. Stream初体验 我们先来看看Jav ...

  9. Java8之Stream详解

    Java8中提供了Stream对集合操作作出了极大的简化,学习了Stream之后,我们以后不用使用for循环就能对集合作出很好的操作. 一.流的初始化与转换 Java中的Stream的所有操作都是针对 ...

最新文章

  1. 瑞士军刀——Pandoc
  2. Pair Project: API设计 by Xiao Li and Yishi Xing
  3. spring cloud集成Eureka
  4. 清理cin输入缓冲区_输入缓冲区究竟有啥秘密?
  5. 如何买到好的固态硬盘?这样做才能不被骗
  6. python写一个自动登录脚本_Python 实现自动登录+点击+滑动验证功能
  7. mysql 雇员表脚本,mysql压力测试脚本实例_MySQL
  8. 求根号m(巴比伦算法)
  9. 领略ES10的新功能
  10. UNIX/Linux系统取证之信息采集案例
  11. redis bitmap存储入门
  12. 模拟CMOS集成电路设计 学习笔记(三)
  13. IOS 调用微信扫码二维码
  14. vba 冻结窗格_在VBA中进行调试-2A)代码窗格(F7)
  15. Glide异步加载图片,设置默认图片和错误图片
  16. Supermap机器学习功能实操
  17. 47 软件工程34h-北京大学孙艳春老师
  18. 硬核干货 | 基于Impala的网易有数BI查询优化总结
  19. Word删除空白页方法汇总
  20. Maven 阿里云 settings.xml文件配置

热门文章

  1. 中国最火最流行的40个博客网站
  2. python爬虫入门——QQ音乐歌手照片及歌曲列表爬取
  3. [办公软件] Word文档和Excel文档的桌面图标有把锁怎么解决?
  4. modelsim 安装路径存在空格导致不能正常使用
  5. JVM成神之路-Java内存模型(JMM)
  6. 修改注册表值scancode map来屏蔽键盘上的键
  7. CTF线下赛AWD攻防准备
  8. java高级人员必读十大书籍!
  9. Linux断开usb调试命令,Android关闭USB的ADB调试和文件传输功能(禁用USB)【转】
  10. 前沿科技探究之AI在索引推荐的应用