集合是Java中是最常用的包,最常见的有Collection和Map两个接口的实现,Collection用于存放多个单对象,而Map用于存放Key-Value形式的键值对。
Collection中常见的又分两种常见类型的接口:List和Set,List支持存放重复的对象,而Set则不支持。List接口中常见的实现类有:ArrayList、LinkedList、Vector、和Stack;Set接口常见的实现类有HashSet、TreeSet;Map常见的接口有HashMap、TreeMap和HashTable,HashMap和HashTable的主区别是HashMap是非线程安全的,而HashTable则是线程安全的。
ArrayList适用于通过位置来读取元素的场景;
LinkList适用于更新操作的列表,如从头、尾操作及插入删除指定位置的场景;
Vector适用于线程安全的List;
Stack适用于线程安全的LIFO场景;
HashSet适用于对排序没有要求的非重复元素;
TreeSet适用于需要排序的非重复元素;
HashMap适用于key-value存取场景;
TreeMap适用于需要排序的key-value场景;
HashTable适用于线程安全的key-value存取场景;