
关于Short集合remove问题的一个小坑
当HashSet对象在remove的时候,其实是调用HashMap的remove方法,移除掉HashMap内的key,以及对应的value(HashSet内固定对象),并将这个对象做一个二次校验,返回结果。这的原理是HashSet每次add一个元素的时候,都会进行一次hash运算然后存储到HashMap中,这里将set的value作为map的key来用了。就是,自动出现类型提升,转换为Integer类型,而remove的时候要先判断instanceof,如果不是同一类型,remove操作就此结束。









