Java容器_List接口_ArrayList类
来源:互联网 发布:unity3d音乐播放器 编辑:程序博客网 时间:2024/06/04 15:53
List接口,打开源码看看:
public interface List<E> extends Collection<E> { // Query Operations /** * Returns the number of elements in this list. If this list contains * more than <tt>Integer.MAX_VALUE</tt> elements, returns * <tt>Integer.MAX_VALUE</tt>. * * @return the number of elements in this list */ int size();通过代码,我们可以看出List接口继承了Collection接口,所有拥有Collection的所有方法,另外,又新定义了一些方法,例如get(i),set(int,E)等List列表操作的方法。
ArrayList类,打开源码看看:
public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable{ /** * The array buffer into which the elements of the ArrayList are stored. * The capacity of the ArrayList is the length of this array buffer. */ private transient Object[] elementData; /** * The size of the ArrayList (the number of elements it contains). * * @serial */ private int size; /** * 默认长度是10. */ public ArrayList() { this(10); }
通过代码,我们可以知道,ArrayList实现了List接口;
Object[] elementData,说明ArrayList是通过数组实现的;
Resizable-array implementation of the List interface.
类的描述文字也清楚的说明了该类就是一个可变数组,上文我们分析过了StringBuilder;
那ArrayList的实现和StringBuilder是一样,就是存储的是对象罢了。
看代码:
/** * Appends the specified element to the end of this list. * * @param e element to be appended to this list * @return <tt>true</tt> (as specified by {@link Collection#add}) */ public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[size++] = e; return true; }连扩容的函数名都一样,不说了。
0 0
- Java容器_List接口_ArrayList类
- Java类集 _List接口
- Java集合源码学习(4)_List接口
- 【Java类集】_List接口笔记(实例亲测)
- Java集合源码学习(6)_List接口的实现_ArrayList_Vector
- Java集合源码学习(7)_List接口的实现_LinkedList
- Java集合源码学习(8)_List接口的实现_CopyOnWriteArrayList
- 【Java类集】_List接口笔记(实例亲测)
- Java泛型_ArrayList
- 黑马程序员_List集合容器
- Java初学_ArrayList常用方法
- Java容器Collection接口 Collections类Iterator接口Comparable接口
- [Java] 容器-02 HashSet 类 / Iterator 接口
- Java集合源码学习(5)_List接口的基础实现AbstractList
- 模板类_List
- Java容器--接口概述
- Java容器------Collection接口
- 黑马程序员_List接口及其常见子类
- 推荐系统学习(三)——聚类算法
- DP动态规划
- 获取所有和隐式Intent匹配上的Activity
- http状态码301和302详解及区别
- mybatis 第一个程序---用户查询
- Java容器_List接口_ArrayList类
- 宝宝,我要秀恩爱
- 光栅化三维场景的基本流程
- 项目上传至服务器;使用linux系统将本地项目上传到服务器上
- How Many Tables HDU
- URL向Action传递参数,只能接收到一个参数或接收不到参数的一种解决思路
- 最大子段和问题
- ActivityMQ中的使用详解
- C++中虚析构函数的作用