Java Map 迭代

Map迭代 有两种 道路

遍历 Map该方法:
     1  Set<K> KeySet(): 获取全部的键,得到set集合,迭代, 通过get( key)获取值!

     2  Set<Map.Entry<K,V>>  entrySet()
           把集合中的每个键值对 形成的映射关系获取到。存到一个Set 集合中。在遍历Set 集合。每次遍历到的就是一个映射关系。

  从这个映射关系 即能够得到 键  和 值!

 

          这样的 映射关系 是 Map.Entry类型。

          Entry  是 Map的 静态接口?
          由于 有了键值对 才会存在 映射关系。所以这样的映射关系是属于  集合内部事物。要在 集合内部描写叙述。所以在Map 接口中定义了惊静态的Entry.   Map.entry<K,V>




代码例如以下:

HashMap<StudentD,String> hm = new HashMap<StudentD,String>();

		hm.put(new StudentD("xiaobai",23),"shanghai");
		hm.put(new StudentD("wanghei",20),"beijing");
		hm.put(new StudentD("lisi",28),"shenzhen");
		hm.put(new StudentD("lisi",28),"shenzhen");

     
//		Map 第一种 迭代方式   依据 key 找  value
		Set<StudentD> set=hm.keySet();
		for(Iterator<StudentD>  ite = set.iterator();ite.hasNext();)
		{
			StudentD stu = ite.next();
			String value = hm.get(stu);
			sop(stu+"的地址是:"+value);
		}
     
//		map 的 另外一种 迭代方式  获取 键值对。entry 获取当中的 key 和 value
		Set<Map.Entry<StudentD,String>> entry = hm.entrySet();
		for(Iterator<Map.Entry<StudentD,String>> ite = entry.iterator();ite.hasNext();)
		{
			Map.Entry<StudentD,String> kv = ite.next();
			StudentD key = kv.getKey();
			String  value = kv.getValue();
			sop(key+"的地址是:"+value);
		}
	


原文地址:https://www.cnblogs.com/blfshiye/p/4558413.html