|--Set
|--HashSet
底层数据结构是哈希表。
是如何保证元素的唯一性的?
它依赖于两个方法:hashCode()和equals()
顺序:
先判断hashCode(),
相同:继续equals()
返回true,不添加
返回fales,添加到集合
不同:添加到集合
|--LinkedHashSet
有序,唯一
底层数据结构是哈希表和链表。
由链表保证有序,由哈希表保证唯一。
|--TreeSet
底层数据结构是二叉树。
是如何保证元素的唯一性的?
根据返回值是否是0判断是否重复。
并且还要保证元素有序:
根据返回值是正数还是负数。 |