Java中遍歷Map的各種方式

在遍歷Map集合之前首先先定義一個(gè)Map對(duì)象:

Map<String, String> map = new LinkedHashMap<String, String>();
map.put("1", "one");
map.put("2", "two");
map.put("3", "three");
map.put("4", "fore");
map.put("5", "five");

這個(gè)地方使用的是LinkedHashMap,主要是為了確保讓map中的元素是按照插入的順序存放的。

1. 使用keySet()方法遍歷

使用keyset方法遍歷,是先取出map的key組成的Set集合,通過(guò)對(duì)Set集合的遍歷,然后使用map.get(key)方法取出value值。

for (String key : map.keySet()) {
    System.out.println(key + " : " + map.get(key));
}

2. 使用map的values()方法遍歷集合的values

map.values()返回的是由map的值組成的Collection,這個(gè)方法只能遍歷map的所有value,不能得到map的key。

for (String value : map.values()) {
    System.out.println(value);
}

3. 使用map的entrySet()方法遍歷

使用map的entrySet()方法返回一個(gè)以Entry為元素的Set集合,然后對(duì)Set集合進(jìn)行遍歷。

for (Entry<String, String> entry : map.entrySet()) {
    System.out.println(entry.getKey() + " : " +     entry.getValue());
}

4. 通過(guò)keySet()返回的集合的iterator遍歷

由于map.keySet()返回的是一個(gè)Set集合,所以通過(guò)它的iterator()方法返回一個(gè)迭代器,通過(guò)迭代器遍歷map。

Iterator<String> it = map.keySet().iterator();
while(it1.hasNext()) {
    String key = it1.next();
    System.out.println(key + " : " + map.get(key));
}

5. 通過(guò)values()返回的Collection的iterator遍歷

map.values()方法返回的是一個(gè)Collection對(duì)象,這個(gè)集合對(duì)象可以使用iterator方法訪問(wèn)。

Iterator<String> it = map.values().iterator();
while(it1.hasNext()) {
    String key = it1.next();
    System.out.println(key + " : " + map.get(key));
}

6. 通過(guò)entrySet()返回的Set的iterator遍歷

同上,map.entrySet()方法返回的是一個(gè)Set<Entry<String, String?類型的集合,可以使用iterator來(lái)訪問(wèn)該集合。

Iterator<Entry<String, String>> it =    map.entrySet().iterator();
while(it3.hasNext()) {
    Entry<String, String> entry = it3.next();
    System.out.println(entry.getKey() + " : " +     entry.getValue());
}

以上總結(jié)了對(duì)map集合的集中遍歷方式,根據(jù)自身需要靈活選擇使用哪種方式。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容