Java之Set集合的"怪"
工作中可能用Set比较少,但是如果用的时候,出的一些问题很让人摸不着头脑,然后我就看了一下Set的底层实现,大吃一惊。 看一个问题 Map map = new HashMap(); map.put(1,"a"); map.put(12,"ab"); map.put(123,"abc"); Set set1 = map.keySet(); Set set2 = map.keySet(); Set set3 = map.keySet(); set1.remove(1); set1.forEach(p-> System.out.println(p.toString())); set2.forEach(p-> System.out.println(p.toString())); set3.forEach(p-> System.out.println(p.toString())); 然后我的运行结果是 123 12 ---------------- 123 12 ---------------- 123 12 为什么我在set1里面执行remove(1);其它的两个set对象为...