????Map map = new HashMap();
?? ?? map.put("1", "value1");
?? ?? map.put("2", "value2");
?? ?? map.put("3", "value3");
?? ?? //第一種:普遍使用蛇捌,二次取值
?? ?? System.out.println("通過Map.keySet遍歷key和value:");
?? ?? for (String key : map.keySet()) {
?? ?? System.out.println("key= "+ key + " and value= " + map.get(key));
?? ?? }
? ? 對于keySet其實是遍歷了2次,一次是轉為iterator咱台,一次就從hashmap中取出key所對于的value络拌。而entryset只是遍歷了第一次,他把key和value都放到了entry中回溺,所以就快了春贸。
?? ?? //第二種
?? ?? System.out.println("通過Map.entrySet使用iterator遍歷key和value:");
?? ?? Iterator> it = map.entrySet().iterator();
?? ?? while (it.hasNext()) {
?? ?? Map.Entry entry = it.next();
?? ?? System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
?? ?? }
?? ?? //第三種:推薦混萝,尤其是容量大時
?? ?? System.out.println("通過Map.entrySet遍歷key和value");
?? ?? for (Map.Entry entry : map.entrySet()) {
?? ?? System.out.println("key= " + entry.getKey() + " and value= " + entry.getValue());
?? ?? }
?? ?? //第四種
?? ?? System.out.println("通過Map.values()遍歷所有的value,但不能遍歷key");
?? ?? for (String v : map.values()) {
?? ?? System.out.println("value= " + v);
?? ?? }