遍歷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());
}