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);
		}
	


你可能感兴趣的:(Java Map 的迭代)