Java为什么引入集合容器?
Java中有多种方式保存对象。例如数组,但数组具有固定的尺寸,一般业务在前期不会知道需要多少个对象,所以数组就受限了。但别急,Java实用类库还为我们提供了一套相当完事的集合容器来解决这个问题,集合可以根据业务需求自动调整大小,所以我们就不用事先知道业务对象的数量。
一些常见的集合容器见下图
Java集合主要分为两类:即Collection和Map
Collection:保存单一的元素,List按照插入顺序保存元素,Set元素不可重复,Queue按照排队规则来确定对象的产生顺序,按插入顺序。
Map:保存键值对,通过键查找值。也被称为“关联数组”或“字典”。Map是强大的编程工具
List:按插入顺序保存元素
|–ArrayList:底层为数组,查询快,增删慢;
|–LinkedList:底层为链表,查询慢,增删快
Set:元素不可重复
|–HashSet:使用了散列函数,提供最快的查询速度
|–|–LinkedHashSet:使用链表维护元素插入顺序,查询使用散列
|–TreeSet:元素存储在红黑树数据结构中,保持元素处于排序状态
Map:
|–HashMap:用来快速访问
|–|–LinkedHashMap:使用链表维护元素插入顺序,查询使用散列
|–Treemap:保持“键”处于排序状态