Set 无序(指的是存储和取出的顺序) 元素唯一(不能出现相关相同的元素,有就合并)
HashSet
底层结构是哈希表,保证元素唯一性依赖于两个方法 hashCode和equals。
要保证元素的唯一性,重写hashCode和equals即可。
LinkedHashSet
底层结构是哈希表和链表
哈希表保证唯一
链表保证有序
TreeSet
依赖于TreeMap,元素排序 二叉树排序:大的左边 小的右边
构造方法
public TreeSet() : 使用的是自然排序
如使用自然排序,那么对要求元素须实现 Comparable。复写public int compareTo(Student o)
public TreeSet(Comparator e): 使用的是比较器排序
对元素没有要求,创建对象需用匿名内部类实现Comparator这个接口的子类对象。
集合练习
HashSet
底层结构是哈希表,保证元素唯一性依赖于两个方法 hashCode和equals。
要保证元素的唯一性,重写hashCode和equals即可。
LinkedHashSet
底层结构是哈希表和链表
哈希表保证唯一
链表保证有序
TreeSet
依赖于TreeMap,元素排序 二叉树排序:大的左边 小的右边
构造方法
public TreeSet() : 使用的是自然排序
如使用自然排序,那么对要求元素须实现 Comparable。复写public int compareTo(Student o)
public TreeSet(Comparator e): 使用的是比较器排序
对元素没有要求,创建对象需用匿名内部类实现Comparator这个接口的子类对象。
集合练习