JDK1.8源码解析——java.util.ArrayList 类(数组实现)
2019-01-21 21:39
489 查看
JDK1.8源码解析——java.util.ArrayList 类
ArrayList定义
ArrayList 是一个用数组实现的集合,支持随机访问,元素有序且可以重复。
继承关系
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable
UML关系图
实现RandomAccess 接口
RandomAccess接口是一个标志接口(Marker),只要List集合实现这个接口,就能支持快速随机访问,来提高访问列表时的性能。
Collections类中的binarySearch()方法,源码如下:
public static <T> int binarySearch(List<? extends Comparable<? super T>> list, T key) { if (list instanceof RandomAccess || list.size()<BINARYSEARCH_THRESHOLD) return Collections.indexedBinarySearch(list, key); else return Collections.iteratorBinarySearch(list, key); }
实现此标记接口,判断list是否实现RandomAccess接口来实行indexedBinarySerach(list,key)或iteratorBinarySerach(list,key)方法。
实现 Cloneable 接口
实现 Serializable 接口
实现 List 接口
字段属性
构造函数
添加元素
查找元素
遍历集合
相关文章推荐
- Java集合源码实现一:ArrayList(jdk1.8)
- Java之ArrayList源码解读(JDK 1.8)
- Java中HashMap底层实现原理(JDK1.8)源码分析
- Java1.8集合源码:ArrayList 详细解析
- Java中HashMap底层实现原理(JDK1.8)源码分析
- 容器第三课,JDK源码分析,自己实现ArrayList数组扩容
- java基础提高篇--集合源码分析--jdk1.8 ArrayList源码
- Java集合源码实现四:LinkedHashMap(jdk1.8)
- java中的ArrayList集合源码分析(jdk1.8版本)。
- Java中HashMap底层实现原理(JDK1.8)源码分析
- JDK源码分析之java.util.ArrayList
- Java中HashMap底层实现原理(JDK1.8)源码分析
- ArrayList源码解析(jdk1.8)
- 解析java.util集合类源码(ArrayList)
- java ArrayList 源码解析(jdk1.6)
- JDK源码学习(3)-java.util.ArrayList与LinkedList
- JDK源码分析(1)-java.util.ArrayList
- [Java]JDK1.8 ArrayList源码剖析(一)
- Java容器类源码学习——jdk1.8版本下的ArrayList扩容
- Java中HashMap底层实现原理(JDK1.8)源码分析