如何用自己的方法实现Vector的add()方法,
不要重写,越简单越好
把源码给我
谢谢

解决方案 »

  1.   

    JDK 难道没有提供源码供你参考吗?
      

  2.   

    前两天刚看到这么一个差不多的帖子
    仅提供思路:定义一个Object[]数组,然后调用add方法时先判断这个数组是不是满了如果满了就通过Arrays.copyOf()创建一个更大的数组;
      

  3.   


     import java.util.Arrays;public class VectorV<T>{ private static final long serialVersionUID = 1L;

    public int eCount=0;//元素数量

    public Object[] data;//存储数据的数组

    public VectorV(){
    data=new Object[13];//初始化容量13
    }
    public VectorV(int capacity){
    data=new Object[capacity];//有初始化容量的构造方法
    }
    //添加元素的方法
    public void addElement(T t){
    autoCapacity(eCount+1);//是否扩容
    data[eCount++]=t;//往数组中加入元素
    }

    public void autoCapacity(int capacity){
    int newCapacity=0;
    if(capacity>eCount){
    newCapacity=capacity;
    data=Arrays.copyOf(data, newCapacity);
    }
    }
    public T get(int index){
    if(index>=eCount){
    System.out.println("索引超出范围!");
    }
    return (T) data[index];
    }
    public int size(){
    return eCount;
    }

    public static void main(String[] args) {
    VectorV<Integer> v=new VectorV<Integer>();
    for (int i = 0; i < 14; i++) {
    v.addElement(i);
    }
    System.out.println(v.size());
    for (int i = 0; i < v.size(); i++) {
    System.out.print(v.get(i)+" ");
    }
    }
    }
    打印输出:
    14
    0 1 2 3 4 5 6 7 8 9 10 11 12 13 
      

  4.   

    jdk的目录下有一个src.zip 里面就是Java的源代码如果你不知道某个类在哪个包,可以查看Java API Doc