403383221 发表于 2013-4-29 19:29
那值的位置是null吗
这个是源码中 PRESENT 的定义, private static final Object PRESENT = new Object();
所以map中存的是值就是该Object对象的地址值,
return map.put(e, PRESENT)==null;表示如果此 set 中尚未包含指定元素,则添加指定元素,否则返回false(因为map.put(e, PRESENT)返回的是PRESENT,PRESENT!=null,所以返回false |