HashSet
实现
哈希函数,但是存在哈希冲突。
解决方法:拉链法、线性探测法
底层实现
HashMap
HashMap和TreeMap的对比
相同点
- 都继承了AbstractMap,实现了Map接口
- 均是非线程安全
不同点
- 底层实现:HashMap基于“数组+链表+红黑树”实现;TreeMap基于红黑树实现。
- 是否有序:HashMap的结果是无序的;TreeMap实现了SortMap接口,能够根据键值排序,默认升序,也可以指定排序的比较器。
- 使用场景:HashMap速度更快,适用于在Map中插入、删除和定位元素;Treemap适用于按自然顺序或自定义顺序遍历键。