HashSet与TreeSet的介绍

来源:互联网 发布:脑死亡有奇迹吗 知乎 编辑:程序博客网 时间:2024/05/20 23:37

HashSet 是哈希表实现的,无序的结合,表现为检索(contains)的时间复杂度是 o(0)
HashSet无序集合,放入顺序与取出顺序不一致。
HashSet中的数据是无序的,可以放入null,但只能放入一个null,两者中的值都不能重复,就如数据库中唯一约束
HashSet要求放入的对象必须实现HashCode()方法,放入的对象,是以hashcode码作为标识的,而具有相同内容的String对象,hashcode是一样,所以放入的内容不能重复。但是同一个类的对象可以放入不同的实例
HashSet类实现 Set 接口,由哈希表(实际上是一个 HashMap 实例)支持。它不保证集合的迭代顺序;特别是它不保证该顺序恒久不变。此类允许使用 null 元素。


TreeSet 是红黑树实现的,排序的集合
Treeset中的数据是自动排好序的,不允许放入null值
TreeSet自动排好序,而且必须放相同的类型,放不同的类型就会报错。
TreeSet实现 Set 接口,该接口由 TreeMap 实例支持。保证排序后的 set 按照升序排列元素。

原创粉丝点击