set集合属于collections的 一个子接口。下面有2个子类:1 HashSet和TreeSet;
HashSet特点:存入的元素师无需的,元素不可以重复。
HashSet:底层数据结构是哈希表。
HashSet如何保证元素的唯一性呢:
是通过HashCode和equals两个方法来保证元素的唯一性的,先判断HashCode是否相同,再判断equals方法是否为true.复写hashCode和equals方法。
TreeSet:元素是有序的,但元素不可以重复
TreeSet:底层是二叉树数据结构的。
使用TreeSet集合存入自定义对象,那么要想对自定义的对象进行排序得必须实现Comparable接口,根据返回正数负数和零来对元素进行排序的,返回0则元素相同。
第二种 可以自定义比较器,自定义比较器类实现Comparator 接口,复习compare方法,要传入两个对象进行比较,返回也是正数和负数,零,对元素进行排序得以及保证元素的唯一性的。然后创建该类对象作为参数传递给集合的构造函数即可。
|
|