Java HashSet和TreeSet的区别
来源:互联网 发布:ipad用什么下载软件 编辑:程序博客网 时间:2024/05/18 00:22
1. HashSet是通过HashMap实现的,TreeSet是通过TreeMap实现的,只不过Set用的只是Map的key
2. Map的key和Set都有一个共同的特性就是集合的唯一性.TreeMap更是多了一个排序的功能.
3. hashCode和equal()是HashMap用的, 因为无需排序所以只需要关注定位和唯一性即可.
a. hashCode是用来计算hash值的,hash值是用来确定hash表索引的.
b. hash表中的一个索引处存放的是一张链表, 所以还要通过equal方法循环比较链上的每一个对象 才可以真正定位到键值对应的Entry.
c. put时,如果hash表中没定位到,就在链表前加一个Entry,如果定位到了,则更换Entry中的value,并返回旧value
4. 由于TreeMap需要排序,所以需要一个Comparator为键值进行大小比较.当然也是用Comparator定位的.
a. Comparator可以在创建TreeMap时指定
b. 如果创建时没有确定,那么就会使用key.com
- Java HashSet和TreeSet的区别
- Java中HashSet和TreeSet的区别
- Java中HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet和TreeSet的区别
- HashSet,和TreeSet的区别
- HashSet 和 TreeSet 的区别
- HashSet和TreeSet的区别
- Java——HashSet和TreeSet的区别
- Java——HashSet和TreeSet的区别
- HashSet 和 TreeSet 区别
- TreeSet和HashSet区别
- JSP中的输入输出流
- 想看看吗?
- 学好C++必须要看的经典书籍
- foreach循环
- 呵呵
- Java HashSet和TreeSet的区别
- 面试题精选(76):给定BST先序遍历序列,不构造BST的情况下判断BST是否每个node都只有一个child
- 通用IE和FireFox的多行文本框输入控制脚本
- Jdom写xml文件实例
- 果真如此?
- 窗口间传递参数学习二
- 八条佛曰
- 66句震撼人心的禅语
- 高贵品质妮莱娅你穿就知道