Java的集合有两个根接口:Collection接口、Map接口
1.Collection接口下的子接口与子类:
1.1 Set接口
TreeSet:基于红黑树实现,支持有序操作。
HashSet:基于哈希表实现,支持快速查找,但不支持有序操作。
LinkedHashSet:具有HashSet的查找效率,并且内部使用双向链表维护元素的插入顺序。
1.2 List接口
ArrayList:基于动态数组实现,支持随机访问。
Vector:和ArrayList类似,线程安全。
LinkedList:基于双向链表实现,只能顺序访问。
1.3 Queue接口
LinkedList:基于双向链表实现,只能顺序访问。可以用做栈、队列和双向队列。
PriorityQueue:基于堆结构实现,可以用来实现优先队列。
2.Map接口下的子接口与子类:
TreeMap:基于红黑树实现。
HashMap:基于哈希表实现。
HashTable:和HashMap类似,线程安全。已过时,建议使用ConcurrentHashMap代替。
LinkedHashMap:使用双向链表维护元素顺序,顺序为插入顺序或LRU顺序。