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