ArrayList

public class ArrayList<E> extends AbstractList<E> implements List<E>,
RandomAccess, Cloneable, Serializable

 

问题:

1、底层的数据结构是什么

2、怎么扩容

 

数据结构:

数组

增删改查:

增:

	public boolean add(E paramE) {
		ensureCapacity(this.size + 1);
		this.elementData[(this.size++)] = paramE;
		return true;
	}

        public void ensureCapacity(int paramInt) {
		this.modCount += 1;
		int i = this.elementData.length;
		if (paramInt > i) {
			Object[] arrayOfObject = this.elementData;
			int j = i * 3 / 2 + 1;
			if (j < paramInt) {
				j = paramInt;
			}
			this.elementData = Arrays.copyOf(this.elementData, j);
		}
	}

扩容1.5倍

查:

检查是否越界,返回对应数据。

删:

同上

改:

同上

 

posted on 2016-07-22 15:08  petroe  阅读(163)  评论(0编辑  收藏  举报

导航