社区
Java SE
帖子详情
请问HASHSET和TREESET有什么区别?
stslayer
2008-02-20 10:27:44
RT
...全文
2736
16
打赏
收藏
请问HASHSET和TREESET有什么区别?
RT
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
16 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
老牛同学
2009-12-25
打赏
举报
回复
[Quote=引用 2 楼 kyo100900 的回复:]
先看看源码:
public class TreeSet <E>
extends AbstractSet <E>
implements SortedSet <E>, Cloneable, java.io.Serializable
public class HashSet <E>
extends AbstractSet <E>
implements Set <E>, Cloneable, java.io.Serializable
其中SortedSet中组合了一个:Comparator <? super E> comparator();
因此 TreeSet与HashSet最大区别在于排序.........
[/Quote]
很有说服力!!!!!
smartcatiboy
2009-12-25
打赏
举报
回复
Hashset不保留先后、大小和次序
你输入12345,遍历出来可能是31524
LinkedSet保留先后次序
你输入12345,遍历保证12345
TreeSet保留大小次序
你输入31524,遍历结果是12345
Map同
AspireHouse
2009-12-25
打赏
举报
回复
TreeSet查找更加迅速
liuxuejin
2009-12-24
打赏
举报
回复
如果真想深入理解,你得好好看数据结构!!
your_leftH
2009-12-19
打赏
举报
回复
TreeSet --> Tree
HashSet --> Hash
SambaGao
2009-12-19
打赏
举报
回复
很好
zuomingyu2
2009-12-19
打赏
举报
回复
学习了
yang677888
2009-12-19
打赏
举报
回复
HashMap和Hashtable的区别。
答案:HashMap是Hashtable的轻量级实现(非线程安全的实现),他们都实现了Map接口,
主要区别在于HashMap允许空(null)键值(key)与空值(value),由于非线程安全,效率上可能高于Hashtable,Hashtable不允许有空(null)键值(key)与空值(value)。
http://topic.csdn.net/u/20091211/12/63a8e47b-a98f-4e59-b294-19dffd706a0b.html
wibnmo
2009-12-19
打赏
举报
回复
1.TreeSet实现 Set 接口,该接口由 TreeMap 实例支持。保证排序后的 set 按照升序排列元素。
2.HashSet类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。
chiphuo
2008-10-28
打赏
举报
回复
1.HashSet无序集合,放入顺序与取出顺序不一致。
2.TreeSet自动排好序,而且必须放相同的类型,放不同的类型就会报错。
zhangfan123
2008-10-28
打赏
举报
回复
1、Treeset中的数据是自动排好序的,不允许放入null值
2、HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束
3、HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例
malligator
2008-02-23
打赏
举报
回复
一个是排序的,一个是不排序的
所以用要么放入TreeSet里面的对象都实现Comparable接口,要么创建TreeSet的时候制定Comparator
geniuschess235
2008-02-23
打赏
举报
回复
一个是排序的,一个是不排序的
xiaoben008
2008-02-20
打赏
举报
回复
学习,,,,,
kyo100900
2008-02-20
打赏
举报
回复
先看看源码:
public class TreeSet<E>
extends AbstractSet<E>
implements SortedSet<E>, Cloneable, java.io.Serializable
public class HashSet<E>
extends AbstractSet<E>
implements Set<E>, Cloneable, java.io.Serializable
其中SortedSet中组合了一个:Comparator<? super E> comparator();
因此 TreeSet与HashSet最大区别在于排序.........
treeroot
2008-02-20
打赏
举报
回复
区别很大
HashSet 是哈希表实现的,无序的结合,表现为检索(contains)的时间复杂度是 o(0)
TreeSet 是红黑树实现的,排序的集合
HashSet
和
TreeSet
有什么
区别
本文深入探讨了
HashSet
和
TreeSet
的特性与
区别
,包括元素排序、null值处理、数据存储原理及实现机制。
HashSet
利用哈希表存储无序且不重复的元素,允许一个null值;
TreeSet
则通过二叉树实现,保证元素有序,不支持null值。
HashSet
和
TreeSet
的
区别
本文对比了
HashSet
与
TreeSet
两种集合类型的特点。
HashSet
基于HashMap,使用哈希值和equals方法确保元素唯一,无序;
TreeSet
基于TreeMap,通过Compareable接口确保元素唯一,有序,适合排序。
HashSet
和
TreeSet
的
区别
本文详细对比了Java中
HashSet
和
TreeSet
两种集合类的特点。
HashSet
采用哈希表实现,提供快速查找,但元素无序;
TreeSet
基于红黑树,确保元素有序,适合排序需求,但操作效率略低于
HashSet
。
hashset
treeset
java_详解Java中
HashSet
和
TreeSet
的
区别
本文详细介绍了Java中
HashSet
和
TreeSet
的主要
区别
。
HashSet
基于哈希表实现,元素无序,允许一个null元素;而
TreeSet
是红黑树结构,元素有序,不允许null元素。
HashSet
依赖对象的hashCode()和equals()方法,
TreeSet
则根据Comparable或Comparator进行排序。总结来说,
HashSet
注重效率,无序存储,
TreeSet
则保证排序,适合需要排序的场景。
HashSet
与
TreeSet
的
区别
本文主要介绍了
HashSet
与
TreeSet
这两种集合类的
区别
。
HashSet
保存的数据无序且通过hashCode()和equals()方法判断重复;
TreeSet
保存的数据有序,通过Comparable接口判断重复,并强调了自定义对象在
TreeSet
中的排序方式。
Java SE
62,622
社区成员
307,252
社区内容
发帖
与我相关
我的任务
Java SE
Java 2 Standard Edition
复制链接
扫一扫
分享
社区描述
Java 2 Standard Edition
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章