ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### HashSet Set集合的最主要特性就是没有重复元素,HashSet是Set的一个字类,其内部基于HashMap实现,因此HashSet的实现比较简单,相关HashSet的操作,基本上都是直接调用底层HashMap的相关方法来完成 ``` // 底层使用HashMap来保存HashSet的元素 private transient HashMap<E,Object> map; // 由于Set只使用到了HashMap的key,所以此处定义一个静态的常量Object类,来充当HashMap的value private static final Object PRESENT = new Object(); ``` ### 总结 * HashSet非线程安全 * HashSet基于HashMap实现无容量限制 * 允许null值 * 添加值得时候会先获取对象的hashCode方法,如果hashCode 方法返回的值一致,则再调用equals方法判断是否一致,如果不一致才add元素