集合:一种容器,它可以很方便的对容器中的元素进行操作(增删改查)
集合体系(Collection):List和 Set接口。
List接口:
ArrayList 底层数据结构是数组,查询快,增删慢 ;线程不安全,效率高 ;
Vector 底层数据结构是数组,查询快,增删慢,线程安全,效率低;
LinkedList 底层数据结构是链表:查询慢,增删快Set接口:Set 集合元素不允许重复,List 允许元素重复;
HashSet:底层数据结构为哈希表(数组+链表JDK1.7之前,JDK1.8之后有优化为数组+链表+二叉树),元素唯一(靠元素重写equals()和hashCode()方法),且无序(存取顺序不一致);
LinkedHashSet:底层数据结构是链表+哈希表,元素唯一,且有序,哈希表保证了元素唯一,链表保证了元素有序;
TreeSet:底层数据结构是二叉树,元素唯一,且能对元素进行排序。