Java集合(OpenJDK11)----Java笔记
结构图:
文章目录
tips:说明下Map为啥是虚线,Map并没有像其他集合接口一样直接去继承Collecton接口,但其依然属于collection包下的集合数据类型(Map的组织结构与其他三种集合接口的相似度不大)
下面对每个集合下的内容进行简要的说明。
Collection
集合类。
主要方法:
- public void add(int index, A element) :添加元素
- boolean remove(Object o):删除
- public int size() :长度
- public boolean isEmpty() :是否为空
List
以序数索引的方式有序记录数据。
主要方法:
- public A get(int index) :获取元素
- public A set(int index, A element):设置元素值
ArrayList
用数组实现可调整容量大小的列表,实现了List的所有方法,可以包含所有数据类型包括null,提供了可以控制实现数组大小方法,相比于Vector,它不是同步的数据结构。相比于LinkedList实现,有着较好的访问速度。可随机读取。
主要方法:
- public void trimToSize() :调整实现数组大小到当前大小。
- public ArrayList(int initialCapacity) :可以控制初始化容量的构造器。
- public void ensureCapacity(int minCapacity) :控制容量的增长。
默认值:
DEFAULT_CAPACITY = 10 :初始容量。
LinkedList
以双链表的数据结构实现了List,同时实现了Deque,维护着首尾节点,可以使用双端队列的操作。可以包含所有数据类型包括null。
Vector
可ArrayList类似的实现,它同时维护了增长率和容量,可以随着元素的不断插入动态增长。对有可能调整容量方法使用了同步锁。
主要方法:
- public synchronized void trimToSize() :调整实现数组大小到当前大小。
- public Vector(int initialCapacity, int capacityIncrement) :可以控制初始化容量和增长率的构造器。
- public synchronized void setSize(int newSize) :控制容量。
默认值:
initialCapacity = 10