遍历map的几种方式

		Map<String, String> map = new HashMap<String,String>();
		map.put("a", "apple");
		map.put("b", "blue");
		map.put("c", "cba");
		
		
		//推荐,尤其是容量大时
		//在for循环中使用Map.entrySet来遍历
		//这是最常见的并且在大多数情况下也是最可取的遍历方式。在键值都需要时使用。
		Set<Entry<String, String>> sets = map.entrySet(); //表明entrySet()是一个Set<Entry<String, String>>对象
		for(Entry<String, String> map1 : map.entrySet()){
			System.out.println(map1.getKey()+":"+map1.getValue());
		}
		
		
		//使用Iterator遍历key,二次取值
		//注意:.next()的赋值
		//通过遍历key,再get(k),效率低
		Iterator<String> iterator = map.keySet().iterator();
		while(iterator.hasNext()){
			String a = iterator.next();
			System.out.println(a+":"+map.get(a));
		}
		
		//普遍使用,二次取值
		//通过遍历key,再get(k),效率低
		for(String k:map.keySet()){
			System.out.println(k+":"+map.get(k));
		}

		
		
		//仅遍历value
		for(String b:map.values()){
			System.out.println(b);
		}
		
		//使用Iterator遍历entrySet()
		Iterator<Entry<String, String>> i = map.entrySet().iterator(); 
		while(i.hasNext()){
			Entry<String, String> e = i.next();
			//i.remove();   //使用remove可以删除map中的某一项
			System.out.println(e.getKey()+":"+e.getValue());
		}

猜你喜欢

转载自whenjun.iteye.com/blog/2373130