自己的ArrayList工具类

87 阅读1分钟
    if(index==elementdata.length)P{
        elementData=Arrays.copyOf(elementData,elementData.length*2);
    }
	elementData[index]=obj;
	index++;
------分------割------线------
remove(index):从原数组的第index+1拷贝,拷贝数组中实际元素个数-index-1,拷贝到目标数组的
    //从一个数组的指定索引开始拷贝,拷贝指定个数,拷贝到一个数组的指定索引位置,并且把最后一个索引的值为null,然后index--;
    System.arraycopy(this.elementData,index+1,this.elementdata,index,this.index-index-1);
	this.index-1=null;
	this.index--;
public Object get(int index){
    return elementData[index];
}
// 获取数组元素个数
public int size(){
    return index;
}
//判断这个数组有没有这个对象
public boolean contains(Object obj){
    for(int i=0;i<size();i++){
        Object o =this.get(i);
        if(o.equals(obj)){
            return true;
        }
    }
    return false;
}
//清除这个数组的所有元素   遍历所有把元素设为null,并且把index==0,注意要用size(),而不是length.可以提高效率,因为10个长度,可能只有两个元素。
public void clear(){
    for(int i=0;i<this.size();i++){
        elementData[i]=null;
    }
   	this.index=0;
}
//判断数组是否为空
public boolean isEmpty(){
    return this.index==0;
}