java HashMap的keyset方法

简单地说,在keyset方法返回的set上做修改会改变原来的hashmap,这也许不是你想要的,于是形成一个隐藏的bug

一个简单的例子

//a simple demo
import java.util.HashMap;
import java.util.Set;

public class TestHashMap {
    public static void main(String[] args) {
        HashMap<Integer, Integer> G = new HashMap<Integer,Integer>();
        G.put(1, 1); G.put(2, 4);
        G.put(3, 9); G.put(4, 16);
        Set<Integer> set = G.keySet();
        set.remove(3);
        System.out.println(G.size());//print 3
    }
}

 

 

posted @ 2013-04-17 20:45  ttang  阅读(3648)  评论(0)    收藏  举报