Map的几种遍历方式

Map的几种遍历方式:

	public static <K,V> void iteratorMap(Map<K, V> map){
		
		/**
		 * 下面通过四种方式来取出map中的key 和value
		 * 两种思路:1.entrySet 2.keySet
		 * 两种方式:1.for(:) 2.while()
		 * */
		//注意:通过key来获取value的效率非常低,要避免这样使用
		
		/**
		 * 1.while 循环遍历entrySet
		*/ 
		Set<Map.Entry<K, V>> set =  map.entrySet();
		Iterator<Map.Entry<K, V>> it = set.iterator();
		while(it.hasNext()){
			Map.Entry<K, V> entry = it.next();
			System.out.println("一:" + entry.getKey() + "="+ entry.getValue());
		}
		/**
		 * 2.for  循环遍历entrySet
		 * */
		for(Map.Entry<K, V> entry : map.entrySet()){
			System.out.println( "二:"+ entry.getKey() + "=" + entry.getValue());
		}
		
		/**
		 * 3.for 循环遍历keySet (获取key,通过for循环间接获取value)
		 * */
		for(K k : map.keySet()){
			System.out.println( "三:" + k + "=" + map.get(k));
		}
		
		/**
		 * 4.while 循环遍历keySet (获取key,通过while循环间接获取value)
		 * */
		Set<K> set2 = map.keySet();
		Iterator<K> it2 = set2.iterator();
		while(it2.hasNext()){
			K k = it2.next();
			System.out.println("四:" + k + "=" + map.get(k));
		}
		
	}

猜你喜欢

转载自ihenu.iteye.com/blog/2236860