set集合
特点:
存储是元素顺序和取出时元素顺序不一致;唯一,存入的元素唯一,不会出现重复
HashSet保证元素唯一性
HashSet 底层数据结构是哈希表. HashSet 不是线程安全的 集合元素可以是 null
哈希表:是一个元素为链表的数组,综合了数组和链表的优点 (像新华字典一样) (JDK1.7之前)
当向 HashSet 集合中存入一个元素时,HashSet 会调用该对象的 hashCode() 方法来得到该对象的 hashCode 值,然后根据 hashCode 值决定该对象在 HashSet 中的存储位置。
HashSet 集合判断两个元素相等的标准:
两个对象通过 hashCode() 方法比较相等,并且两个对象的 equals() 方法返回值也相等。
需要注意的是只有重写了Hashcode方法和equals方法才会保证元素唯一
LinkedHashSet的概述和使用
数据结构 有两个 链表和哈希表
链表保证有序 哈希表保证元素唯一
TreeSet
TreeSet集合的特点: 元素唯一,并且可以对元素进行排序
排序: