使用list stream: 任意對(duì)象List拼接字符串
任意對(duì)象List拼接字符串
開發(fā)中經(jīng)常會(huì)對(duì)List中的數(shù)據(jù)進(jìn)行處理,常用的一種處理方式便是拼接,通過特定的分隔符來將List中的每個(gè)元素拼接成一個(gè)String,在之前我們經(jīng)常會(huì)用下面的這種方式:
String.join方法
如下所示:
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("a");
stringList.add("d");
stringList.add("k");
System.out.println(String.join(",", stringList));
}
這個(gè)方法雖然很好用,但是有一個(gè)缺陷,那便是List中的對(duì)象只能是字符或字符串,這樣的話如果是其他類型的數(shù)據(jù)或者是不確定類型的數(shù)據(jù)的話,那就無法直接來進(jìn)行處理啦,
接下來介紹一種更加方便的處理方式
如下所示:
public static void main(String[] args) {
List<String> stringList = new ArrayList<>();
stringList.add("a");
stringList.add("d");
stringList.add("k");
System.out.println(String.join(",", stringList));
List<Object> objectList = new ArrayList<>();
objectList.add(1L);
objectList.add(10);
objectList.add("很方便");
System.out.println(objectList.stream().map(Objects::toString).collect(Collectors.joining()));
System.out.println(objectList.stream().map(Objects::toString).collect(Collectors.joining(",")));
System.out.println(objectList.stream().map(Objects::toString).collect(Collectors.joining("-")));
System.out.println(stringList.stream().map(Objects::toString).collect(Collectors.joining("-")));
}
通過List stream函數(shù)可以將任意數(shù)據(jù)類型都轉(zhuǎn)換成String,然后再通過Collectors.joining()方法來將元素通過任意形式拼接,真是一種方便有簡(jiǎn)單的方式。
Stream流合并字符串、拼接字符串
List<String> strings = Arrays.asList("abc", "", "de", "efg", "abcd", "", "jkl");
String mergeString = strings.stream().filter(string -> !string.isEmpty()).collect(Collectors.joining(","));
System.err.println("合并字符串 : "+mergeString);
控制臺(tái)輸出
合并字符串 : abc,de,efg,abcd,jkl
.stream將數(shù)據(jù)轉(zhuǎn)換成stream流.filter過濾字段Collectors.joining字符串連接收集器(字符串拼接)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
面試必問項(xiàng)之Set實(shí)現(xiàn)類:TreeSet
這篇文章主要介紹了Java TreeSet類的簡(jiǎn)單理解和使用,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2021-07-07
Java編程構(gòu)造方法與對(duì)象的創(chuàng)建詳解
這篇文章主要介紹了Java編程構(gòu)造方法與對(duì)象的創(chuàng)建詳解,具有一定參考價(jià)值,需要的朋友可以了解下。2017-11-11
數(shù)組實(shí)現(xiàn)Java 自定義Queue隊(duì)列及應(yīng)用操作
這篇文章主要介紹了數(shù)組實(shí)現(xiàn)Java 自定義Queue隊(duì)列及應(yīng)用操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-06-06
java以json格式向后臺(tái)服務(wù)器接口發(fā)送請(qǐng)求的實(shí)例
下面小編就為大家分享一篇java以json格式向后臺(tái)服務(wù)器接口發(fā)送請(qǐng)求的實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-01-01

