【遍歷Map/HashMap的各種方法】

遍歷Map集合之前需要定義一個Map集合對象:

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

new LinkedHashMap對象,主要是確保集合map中的元素是按照插入的順序存放的。

1、使用keySet()方法遍歷

使用keySet()方法遍歷,是先取出map的key組成的set集合,通過對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,這個方法只能遍歷map中的value值,不能得到map的key值。

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

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

使用map的entrySet()方法返回一個Entry爲元素的Set集合,然後對Set集合進行遍歷。

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

4、通過KeySet()返回的集合的iterator遍歷

由於map.keySet()返回的是一個Set集合,通過iterator()方法返回一個迭代器,通過迭代器遍歷map。

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

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

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

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

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

同上,map.entrySet()方法返回的是一個Set<Entry<String, String»類型的集合,可以使用iterator來訪問該集合.

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

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章