在JAVA中一个对象可以内部保存若干其他对象,并对外提供访问接口,把这种对象称之为集合。
集合有两个顶级接口Collection和Map;
Collection有List(接口)和Set(接口)集合,ArrayList和LinkedList实现了List接口,HashSet和LinkHashSeT实现了Set接口,TreeSet实现了SortedSet接口而SortedSet接口继承了Set接口。
List:是有序可重复的集合。
ArraysList和LinkedList对比:
ArraysList:底层为数组所以拥有数组的特性:获取指定元素迅速,将元素添加到末尾迅速,将指定元素添加或删除需要移动部分元素,占内存较少。
LinkedList:底层为链表所以拥有链表的特性:获取指定元素要从头开始查找所以速度较慢,将元素添加到末尾迅速,将指定元素添加或删除无需移动元素,占内存较多。
Set:是无序不可重复的集合。
HashSet和TreeSet对比:
HashSet:用HashMap作为存储结构,无序,值唯一
TreeSet:用TreeMap作为存储结构,自动排序,值唯一