Tips:
- 如果要在集合中使用自定义类,建议重写equals函数
- 如果集合内元素较多,使用结束后建议清空(GC)
- BitSet
- ArrayList是非线程安全的
继承实现关系图
蓝色实线为继承,绿色虚线为实现参数解释
参数 | 释义 |
---|---|
DEFAULT_CAPACITY | 默认容量 |
EMPTY_ELEMENTDATA | 创建大小为空实例时使用的空数组 |
DEFAULTCAPACITY_EMPTY_ELEMENTDATA | 给无参构造函数使用 |
elementData | 数据数组 |
size | 实际大小 |
MAX_ARRAY_SIZE | 值为(Integer.MAX_VALUE - 8),主要防止自动扩容时,申请空间过大 |
modCount | 默认为0,统计集合的修改次数,也可用于线程安全判断 |
创建实例
1 | //创建指定大小容量实例 |
添加元素
单元素添加
1 | //按顺序添加元素 |
单元素指定位置添加
1 | /** |
添加集合
1 | /** |
指定位置添加集合
1 | /** |
移除元素
移除单个元素
1 | /** |
根据条件删除元素
1 |
|
移除指定集合
1 | /** |
保留指定集合内元素
1 | //基本与移除指定集合一直,只是传参为true |
清空集合
1 | //全员置空,空间大小不变 |
查找元素
是否包含元素
1 | public boolean contains(Object o) { |
查找元素的最后索引
1 | //从集合末尾开始查找 |
查找指定索引元素
1 | public E get(int index) { |
修改集合
修改指定索引元素
1 | //替换后返回旧元素 |
清除多余空间
1 | //清除多余空间,使得GC能够回收 |
根据特殊条件置换元素
1 |
|
根据指定规则排序
1 |
|