(1)特点:元素无序,无重复。
(2)Set
|--HashSet
底层数据结构是哈希表。保证元素的唯一性依赖hashCode和equals方法。
过程:
首先,判断hashCode方法是否相同,如果不相同,则直接添加元素。
如果相同,就会继续进行equals方法的判断
如果相同,元素不会添加。
如果不同,元素添加到集合中。
|--LinkedHashSet
底层数据结构由链表和哈希表组成。
由链表保证元素有序,由哈希表保证元素唯一。
|--TreeSet
底层数据结构是二叉树。保证元素唯一性依赖的方法是比较器。
根据比较器返回值是否是0,确定该元素是否需要加入集合中。
而且排序也是依赖此方法。
方式:
A:让元素本身具备比较性
让自定义对象实现Comparable接口的compareTo(T t);
B:让集合本身具备比较性
自定义比较器实现Comparator接口的compare(T t1,T t2);
(3)HashSet存储和遍历数据
步骤:
创建集合对象
创建元素对象
存储元素
遍历元素
|
|