您的位置:首页 > 编程语言

从源代码看ArrayList和Vector的真正区别

2008-09-15 10:44 357 查看
原文地址:http://www.java2000.net/p9750

今天正好看到了这个东西,一直都是看别人的资料,决定自己亲自看看源代码。JDK版本为 6.0_04 的

1 声明没有任何区别


public class ArrayList<E> extends AbstractList<E>

implements List<E>, RandomAccess, Cloneable, java.io.Serializable;

public class Vector<E> extends AbstractList<E>

implements List<E>, RandomAccess, Cloneable, java.io.Serializable;

2 构造器方法,默认都是10个初始化容量。Vector带每次增加容量的参数

public ArrayList(int initialCapacity);

public Vector(int initialCapacity);

public Vector(int initialCapacity, int capacityIncrement);

3 add等方法,Vector是同步的方法

ArrayList

public boolean add(E e);

Vector

public synchronized boolean add(E e);

4 尺寸和长度,私有变量不同。

ArrayList.size;

Vector.elementCount;

5 其它方法

Vector 比ArrayList方法多,不过一部分是重复的

public synchronized void copyInto(Object[] anArray);

public synchronized void setSize(int newSize);

public synchronized int capacity();

public Enumeration<E> elements();

public synchronized E elementAt(int index);

public synchronized E firstElement();

public synchronized E lastElement();

public synchronized void setElementAt(E obj, int index) ;

public synchronized void removeElementAt(int index);

public synchronized void insertElementAt(E obj, int index);

public synchronized void addElement(E obj);

public synchronized boolean removeElement(Object obj);

public synchronized void removeAllElements();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: