map的遍历

map的常见的遍历方法

 1 package map;
 2 
 3 import java.util.HashMap;
 4 import java.util.Iterator;
 5 import java.util.Map.Entry;
 6 public class MapTraversal {
 7     public static void main(String[] args) {
 8         HashMap<String, Object> m=new HashMap<String , Object>();
 9         m.put("haha","123");
10         m.put("yiyi", "456");
11         m.put("caca", "789");
12         
13         //第一种:通过Map.keySet遍历key和value
14         System.out.println("通过Map.keySet遍历key->value");
15         for(String i:m.keySet()){
16             Object str = m.get(i);//得到每个key多对用value的值
17             System.out.println(i + "     " + str);
18         }
19         
20         //第二种:通过Map.entrySet遍历key和value:(当大容量的时候推荐)
21         System.out.println("通过Map.entrySet遍历key和value");
22          for (Entry<String, Object> entry : m.entrySet()) {
23                System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
24               }
25           
26         //第三种通过Map.entryset使用iterator遍历key和value
27           System.out.println("通过Map.entryset使用iterator遍历key和value");
28           Iterator<Entry<String, Object>> it = m.entrySet().iterator();
29           while (it.hasNext()) {//hasNext()判断是否还有元素
30            Entry<String, Object> entry = it.next();//获取下一个元素
31            System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
32           }
33          //第四种
34           System.out.println("通过Map.values()遍历所有的value,但不能遍历key");
35           for (Object v : m.values()) {
36            System.out.println("value= " + v);
37           }
38           
39     }
40 
41 }

输出结果:

通过Map.keySet遍历key->value
haha 123
caca 789
yiyi 456
通过Map.entrySet遍历key和value
key= haha and value= 123
key= caca and value= 789
key= yiyi and value= 456
通过Map.entryset使用iterator遍历key和value
key= haha and value= 123
key= caca and value= 789
key= yiyi and value= 456
通过Map.values()遍历所有的value,但不能遍历key
value= 123
value= 789
value= 456

原文地址:https://www.cnblogs.com/Darius-Bennett/p/7859355.html