日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢(xún)客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

如何創(chuàng)建和初始化一個(gè)HashMap,看似簡(jiǎn)單的問(wèn)題,其實(shí)真的挺簡(jiǎn)單的,但我們希望從多種方法中,選擇一個(gè)最簡(jiǎn)潔方便、可讀性也高的方法。

 

代碼塊初始化

可以使用靜態(tài)代碼塊和非靜態(tài)代碼塊,都可以進(jìn)行初始化,要針對(duì)變量是否是靜態(tài)變量來(lái)選擇。

private static Map<String, String> map;
{
 map = new HashMap<>();
 map.put("name", "pumpkin");
 map.put("location", "Guangzhou");
}

雙大括號(hào)初始化

Map<String, String> map = new HashMap<String, String>() {{
 put("name", "pumpkin");
 put("sex", "M");
}};
assertEquals("pumpkin", map.get("name"));

雖然這是一種可行的辦法,但并不認(rèn)可這種方法,具體原因可閱讀公眾號(hào)之前的文章。

使用JAVA集合工具類(lèi)Collections

map = Collections.emptyMap();
map = Collections.singletonMap("name", "pumpkin");
assertEquals("pumpkin", map.get("name"));

需要注意的是,這產(chǎn)生的是不可變的Map。

使用Java 8 Stream的方法

map = Stream.of(
 new AbstractMap.SimpleEntry<>("name", "Pumpkin"),
 new AbstractMap.SimpleEntry<>("age", "18"))
 .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
assertEquals("Pumpkin", map.get("name"));

也可以用Stream生成不可變的Map,如下:

map = Stream.of(
 new AbstractMap.SimpleEntry<>("name", "Pumpkin"),
 new AbstractMap.SimpleEntry<>("age", "18"))
 .collect(Collectors.collectingAndThen(
 Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue),
 Collections::unmodifiableMap
 ));

使用Guava庫(kù)

Guava庫(kù)應(yīng)該大多數(shù)Java開(kāi)發(fā)都知道,它是google開(kāi)源的類(lèi)庫(kù),里面有許多非常方便的工具與類(lèi)。

map = ImmutableMap.of("key1", "value1", "key2", "value2");
map = Maps.newHashMap(map);

以上兩行代碼分別生成不可變的Map和可變的Map。

總結(jié)

本文介紹了生成空的Map,只有一個(gè)Entry的Map;可變的Map和不可變的Map。大家可根據(jù)自己的需求自行選擇。

Java 9對(duì)這塊有比較大的改進(jìn),有興趣的同學(xué)就自行研究吧。

Java必修課】如何創(chuàng)建和初始化一個(gè)HashMap?

 

 

分享到:
標(biāo)簽:Java
用戶(hù)無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定