第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在流 Java 中拆分字符串

在流 Java 中拆分字符串

尚方寶劍之說 2021-06-27 08:47:04
我有一個 POJO 類產(chǎn)品List<Product> list = new ArrayList<>();list.add(new Product(1, "HP Laptop Speakers", 25000));list.add(new Product(30, "Acer Keyboard", 300));list.add(new Product(2, "Dell Mouse", 150));現(xiàn)在我想拆分列表以獲得輸出 HP-Laptop-Speakers&&Acer-Keyboard&&Dell-Mouse.我只想要一個流中的班輪。到目前為止,我已經(jīng)設(shè)法得到Optional<String> temp = list.stream().                   map(x -> x.name).                   map(x -> x.split(" ")[0]).                   reduce((str1, str2) -> str1 + "&&" + str2);System.out.println(temp.get());輸出: HP&&Acer&&Dell有人可以幫我嗎。提前致謝。
查看完整描述

3 回答

?
largeQ

TA貢獻2039條經(jīng)驗 獲得超8個贊

首先,split()不需要手術(shù)。雖然您可以拆分所有部分,然后像這樣將它們連接在一起,但使用replaceorreplaceAll調(diào)用要簡單得多。


其次,reduce 操作的效率不會很高,因為它會創(chuàng)建大量的中介Strings 和StringBuilders。相反,您應(yīng)該使用String更高效的加入收集器:


 String temp = list.stream()

              .map(x -> x.name.replace(" ", "-"))

              .collect(Collectors.joining("&&"));


查看完整回答
反對 回復(fù) 2021-07-07
?
當(dāng)年話下

TA貢獻1890條經(jīng)驗 獲得超9個贊

嘗試在字符串流上使用收集器:

.collect(Collectors.joining("&&"))


查看完整回答
反對 回復(fù) 2021-07-07
  • 3 回答
  • 0 關(guān)注
  • 181 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號