方式1 通过keysSet遍历Map
- 先通过keySet方法先生成键key的Set集合,
- 然后再根据Set集合的迭代器从set集合里取出键key
- 再根据键key 通过 Map 的get(key)方法取出值,这样就取出了键值对:key-value
实例
先设置Map中的数据
1 2 3 4
| Map<String, Integer> map2=new HashMap<String,Integer>(); map2.put("山羊", 123); map2.put("茄子",456); map2.put("西瓜",789);
|
通过key来遍历
1 2 3 4 5 6 7 8 9 10 11 12 13
| Set<String> keys=map2.keySet();
Iterator<String> its=keys.iterator();
while(its.hasNext()) { String key=its.next(); int value=map2.get(key); System.out.println("key="+key+" value="+value); }
|
方式2 通过Map.Entry对象遍历Map
- 获取Map的Map.Entry对象的Set集合
- 然后通过Map.Entry对象的迭代器 从Map.Entry对象的Set集合中,取出一个 Map.Entry对象:
- 再从该Map.Entry中分别取出key和value
实例
1 2 3 4 5 6 7 8 9 10 11 12 13
| Set<Map.Entry<String, Integer>> mapEntry=map2.entrySet();
Iterator<Map.Entry<String, Integer>> mapEntryIt=mapEntry.iterator(); while(mapEntryIt.hasNext()) { Map.Entry<String, Integer> mapEntryElement=mapEntryIt.next(); String key=mapEntryElement.getKey(); Integer value=mapEntryElement.getValue(); System.out.println("key="+key+"value="+value); }
|
直接遍历所有的值
1 2 3 4 5 6 7
| Collection<Integer> values = map2.values(); Iterator<Integer> it = values.iterator(); while (it.hasNext()) { int value = it.next(); System.out.println("value=" + value); }
|