List:元素有序可以重复,可以控制元素插入的位置或者删除制定位置元素。
ArrayList:数组序列,使用一维数组是List的一个重要的实现类。该类实现的是可变数组。
线程不安全,查找速度快。
ListedList:链表类采用链表结构保存对象。使用循环双链表实现List。
链表结构,线程安全,查找速度慢,增加、删除速度快。快速插入。
Set:元素无序不可以重复。
HashSet:哈希集是Set的一个重要的实现类根据哈希码来存取集合中的元素。让元素有序输出要使用LinkedHashSet。
TreeSet:树集合实现了Set接口,保证元素处于有序状态用TreeSet。
Map:提供了一种映射,以<key,value>的形式存储数据结构的对象。Key不可以重复,Value可以重复。同时Map支持泛型。
HashMap:基于哈希表的Map接口的实现。使用位桶和链表实现(最近的jdk1.8改用红黑树存储而非链表),它是线程不安全的Map,方法上都没有synchronize关键字修饰效率比较高。允许使用null值和null键。保证Key唯一。
TreeMap:根据键对象按照一定顺序排序的,不允许键对象是null.
HashTable-接口最典型的实现方法基于“拉链法”实现的散列表,一般用于多线程程序中。Key,value不可以为null
ConcurrentHashMap -Map的多线程安全,其实可以理解为,一个ConcurrentHashMap是由多个HashTable组成