关于Map的几种遍历方式

Map之遍历:

关于集合这块需要写的东西其实挺多的,集合有自己的顶级接口Collection,底下又有map和list两个接口,接下来我们谈一谈关于map集合方面的东西。

map是java中非常常用的一种数据结构,提供get和put两个常用的方法;map虽然继承了Collection,但却没有实现Collection的Iterator 方法,自身没有迭代器来遍历元素

接下来言归正传,对于map的遍历也是我们java开发者经常会用到的东西,接下来小编整理一下关于map集合常用的四种遍历方式:

keySet集合迭代entrySet集合迭代keySet 集合for-each 循环entrySet集合for-each循环

接下来直接上代码:

public class TestMap {
	public static void main(String[] args) {
	    Map<String, Integer> tempMap = new HashMap<String, Integer>();  
	    tempMap.put("a",12);  
	    tempMap.put("b",34);  
	    tempMap.put("c",56);   
	}
}

遍历方法一:keySet集合迭代

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

遍历方法二:entrySet集合迭代

Set<Map.Entry<String, Integer>> entrySet = tempMap.entrySet();  
Iterator<Map.Entry<String, Integer>> meIt = entrySet.iterator();  
while (meIt.hasNext()) {  
    Entry<String, Integer> entry = meIt.next();  
    System.out.println("key=" +entry.getKey() + " value=" +  entry.getValue());  
} 

遍历方法三:keySet集合For-each循环

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

遍历方法四:entrySet集合For-each循环

 for (Map.Entry<String, Integer> entry : tempMap.entrySet()) {  
    String key = entry.getKey();  
    String value = entry.getValue().toString();  
    System.out.println("key=" + key + " value=" + value);  
 }

四种方式中,方法一 和 方法二是通过迭代器来显示完成的,方法三方法四 是通过for-each来隐式的通过迭代器来完成的;方法一 和 方法是通过key的集合来完成的,方法二方法是通过entry 的集合来完成的。

小编个人比较喜欢第四种方式去遍历Map,当容量大时,推荐使用,关于集合list以及map的集合整体大框架,下篇文章详细分析

欢迎转载分享~

猜你喜欢

转载自blog.csdn.net/Alex_81D/article/details/79577245