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

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

Java 8:如何將 String 轉(zhuǎn)換為 Map<String,String>?

Java 8:如何將 String 轉(zhuǎn)換為 Map<String,String>?

開滿天機(jī) 2021-11-03 16:54:42
我有一張地圖:Map<String, String> utilMap = new HashMap();utilMap.put("1","1");utilMap.put("2","2");utilMap.put("3","3");utilMap.put("4","4");我將其轉(zhuǎn)換為字符串:String utilMapString = utilMap                .entrySet()                .stream()                .map(e -> e.toString()).collect(Collectors.joining(","));Out put: 1=1,2=2,3=3,4=4,5=5如何在 Java8 中將 utilMapString 轉(zhuǎn)換為 Map?誰能幫幫我?
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

拆分字符串,以獲取單個(gè)地圖條目。然后將它們拆分=以獲取鍵和值。

Map<String, String> reconstructedUtilMap = Arrays.stream(utilMapString.split(","))
            .map(s -> s.split("="))
            .collect(Collectors.toMap(s -> s[0], s -> s[1]));

注意:正如Andreas@ 在評(píng)論中指出的那樣,這不是在地圖和字符串之間進(jìn)行轉(zhuǎn)換的可靠方法

編輯:感謝 Holger 的這個(gè)建議。

使用s.split("=", 2)以確保陣列從來沒有超過兩個(gè)元素大。這對(duì)于不丟失內(nèi)容很有用(當(dāng)值有時(shí)=

示例:當(dāng)輸入字符串為時(shí),"a=1,b=2,c=3=44=5555" 您將得到{a=1, b=2, c=3=44=5555}

早些時(shí)候(只是使用s.split("="))會(huì)給 {a=1, b=2, c=3}


查看完整回答
反對(duì) 回復(fù) 2021-11-03
?
守著一只汪

TA貢獻(xiàn)1872條經(jīng)驗(yàn) 獲得超4個(gè)贊

這是另一個(gè)選項(xiàng),它將等項(xiàng)列表流式傳輸1=1到地圖中。


String input = "1=1,2=2,3=3,4=4,5=5";

Map<String, String> map = Arrays.asList(input.split(",")).stream().collect(

             Collectors.toMap(x -> x.replaceAll("=\\d+$", ""),

                 x -> x.replaceAll("^\\d+=", "")));

System.out.println(Collections.singletonList(map));


[{1=1, 2=2, 3=3, 4=4, 5=5}]


查看完整回答
反對(duì) 回復(fù) 2021-11-03
?
弒天下

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超8個(gè)贊

如果您想從 String 生成地圖,您可以使用以下方式:

Map<String, String> newMap = Stream.of(utilMapString.split("\\,"))
            .collect(Collectors.toMap(t -> t.toString().split("=")[0], t -> t.toString().split("=")[1]));



查看完整回答
反對(duì) 回復(fù) 2021-11-03
  • 3 回答
  • 0 關(guān)注
  • 1445 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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