入门:Java Map<String,String>遍历及修改

 重点:在使用Map时注意key-value,key用于检索value的内容。

在正常情况下,可以不允许重复:在java中分为2中情况,一是内存地址重复,另一个是不同的地址但内容相等。

在使用Map是一定要特别注意,是否允许键值相等存储,在使用IdentityHashMap的键是变量时要小心。

 

在下面的示例中,键值为常量,指向同一个内存地址,所以会经过修改后还是保持相同数量的元素。

 1 import java.util.IdentityHashMap;
 2 import java.util.Map;
 3 
 4 public class Main {
 5     public static void main(String[] args) {
 6         Map<String, String> m = new IdentityHashMap<String, String>();
 7         m.put("a", "java");
 8         m.put("b", "js");
 9         m.put("c", "php");
10         System.out.println(m + ",size:" + m.size());
11         for (String key : m.keySet()) {
12             if (key.equals("c")) {
13                 // m.remove("c");
14                 m.put("c", "www");
15             }
16             // System.out.println("key= " + key + " and value= " + m.get(key));
17         }
18         System.out.println(m);
19     }
20 }

结果:

{b=js, a=java, c=php},size:3
{b=js, a=java, c=www}

借一张图,便于读者理解:

(图片来自:http://tianya23.blog.51cto.com/1081650/707603)

 

posted @ 2016-12-20 10:57  马丁黄瓜啊  阅读(13771)  评论(0编辑  收藏  举报