Java集合中Collection和Map,是集合框架的根接口:
Collection 的子接口 list,set
List实现类:LinkedList,Vector,ArrayList
Set实现类: HashSet,LinkedHashSet,TreeSet
Map 的实现类:HashTable,HashMap,TreeMap
List集合
有序列表,允许存放重复的元素;
ArrayList:可以为null值,可以允许重复元素,有序,异步 (线程不安全)
LinkedList:双向链表实现,增删快,查询慢 (线程不安全)
Vector:数组实现,重量级 (线程安全、使用少)
Set 集合
无序列表,不可以存储重复的元素
HashSet:存储元素无序,且唯一,底层使用hash算法计算存储位置,并允许使用null元素。
LinkedHashSet: 唯一的有序的set集合,通过链表与哈希表实现,顺序与添加顺序一致。
TreeSet:元素存储使用的是红黑树的数据结构。
Map集合
Map是基于数组和链表的数据结构进行存储数据。
Hashtable: 底层是哈希表数据结构,不可以存入null键null值。该集合线程同步。
HashMap:底层是哈希表数据结构,允许使用 null 值和 null 键,该集合线程不同步。
TreeMap:底层是二叉树数据结构。线程不同步。可以用于给map集合中的键进行排序。