- Set集合:不允许重复元素。和Collection的方法相同。Set集合取出方法只有一个:迭代器。
1、HashSet:哈希(散列)表结构
如何保证唯一性?
元素必须覆盖hashCode和equals方法
覆盖hashCode方法是为了根据元素自身的特点确定哈希值
覆盖equals方法,是为了解决哈希值冲突
+一个子类对象LinkedHashSet,实现有序排列
2、TreeSet:二叉树数据结构。可以对元素进行排序。不同步的。
如何保证元素唯一性?
参考的就是比较方法的返回值是否为0。
排序方式:1、需要元素具备比较功能。所以元素需要实现Comparable接口
覆盖CompareTo方法
2、让集合具备比较功能,定义一个比较器。
实现Comoarator接口,覆盖compare方法,将Comparator接口的对象,
作为参数传递给TreeSet集合的构造函数。
比较器更为灵活。自然排序通常作为元素的默认排序。