黑马程序员技术交流社区

标题: HashSet与TreeSet集合保持唯一性的标准 [打印本页]

作者: xiexie758    时间: 2015-11-1 14:49
标题: HashSet与TreeSet集合保持唯一性的标准
HashSet:
    底层数据结构是哈希表(散列表)。具体的是由一个元素是单向链表的数组组成。它依赖于两个方法:hashCode()和equals()方法。
    执行顺序:先判断hashCode()是否相同,
                        如果相同
                                继承执行equals()方法,看其返回值:
                                                  true:元素重复,不存储。
                                                  false:元素不重复,存储。
                        如果不同
                                存储。
        记住:
                看到HashXxx结构的集合,就要知道,被该集合存储的元素要重写hashCode()和equals()方法。而且,是自动生成的。
TreeSet;
底层数据结构是二叉树。根据比较的返回值是否是0来决定。
        如何保证元素的排序的呢?
                A:自然排序 元素具备比较性
                        让集合中被存储的元素所属的类实现Comparable接口复写compareTo()方法。
                B:比较器排序 集合具备比较性

                        在创建集合对象的时候,让构造方法接收一个Comparator接口的子类对象,子类复写compare()方法。








欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2