Set类

-java.util.Set extends Collection

  • 特点
    • 元素唯一
  • 常用实现类
    • TreeSet
      • 底层数据结构红黑树 排序 元素唯一
    • HashSet
      • 底层数据结构是哈希值 无序 元素唯一
    • LinkedHashSet
      • 底层数据结构是链表+哈希值 有序 元素唯一

TreeSet

-java.util.TreeSet implements Set

  • 底层数据结构
    • 红黑树
  • 特点
    • 排序 唯一
  • 构造方法
    • public TreeSet()如果使用空参构造 集合中的元素必须实现 Comparable接口
    • public TreeSet(Comparator c)如果使用带参构造 那么则使用比较器来进行比较
  • TreeSet 集合判断两个元素是否相同的依据

    • 如果是用自然排序接口 Comparable接口 主要看 重写的comparTo方法 是否返回0

      1. 如果返回0,代表两个元素相同
    • 如果使用比较器接口 Comparator接口 主要看 重写的compare方法 是否返回0

         如果返回0,代表两个元素相同
      

HashSet

  • 底层数据结构
    • 哈希表
  • 特点
    • 无序 唯一
  • HashSet集合判断两个元素是否相同的依据

    • 先比较对象的hashCode

                         不同        添加到集合<br />相同        继续比较equals<br />                                                          不同      添加到集合<br />  相同     不添加
      

Collections

-java.util.Collections集合工具类

  • 静态方法
    • public static void shuffle(List list)打乱集合中元素顺序
    • public static void sort(List list)对集合中元素进行升序排列

LinkedList

-java.util.LinkedList

  • 特点
    • 底层数据结构是链表
    • 查询慢 增删快
  • 特有方法
    • public void addFirst(E e):将指定元素插入此列表的开头
    • public coid addLast(E e):将指定元素添加到此列表的结尾
    • public E getFirst():返回此列表的第一个元素
    • public E getLast():返回此列表的最后一个元素
    • public E removeFirst():移除并返回此列表的第一个元素
    • public E removeLast():移除并返回此列表的最后一个元素
    • public E pop():此列表所表示的堆栈处弹出一个元素
    • public void push(E e):将元素推入此列表所表示的堆栈
    • public boolean isEmpty():如果列表不包含元素,则返回true