集合体系图及集合体系

Java集合的体系图及Java集合体系分析概述
Connection接口(单列集合最顶端接口)
— List (有序,可重复)
——ArrayList
优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程不安全,效率高
——LinkedList
优点: 底层数据结构是链表,查询慢,增删快。
缺点: 线程不安全,效率高
——Vector
优点: 底层数据结构是数组,查询快,增删慢。
缺点: 线程安全,效率低
—Set (无序,唯一)

——HashSet
底层数据结构是哈希表。(无序,唯一)
如何来保证元素唯一性?
1.依赖两个方法:hashCode()和equals()

——LinkedHashSet
底层数据结构是链表和哈希表。(FIFO插入有序,唯一)
1.由链表保证元素有序
2.由哈希表保证元素唯一

——TreeSet
底层数据结构是二叉树。(唯一,有序)

  1. 如何保证元素排序的呢? 自然排序 比较器排序 2.如何保证元素唯一性的呢? 根据比较的返回值是否是0来决定 Map(双列集合最顶端接口 ,键值对储存 ,键唯一,值可重复) ——HashMap:(底层是哈希表数据结构)非同步,线程不安全,效率高,可存空值空键。 ——TreeMap:(底层是二叉树数据结构)可对键排序。(二叉树)。 ——Hashtable:(底层是哈希表数据结构)同步,线程安全,效率低,不可以存空值空键。