//基于数组的实现类
packagecom.ch06;
publicclassArrayListimplementsList
{
privateObject[]array;
privateintsize;//当前有效元素的个数
privateintmaxSize;//最多允许的元素个数
publicArrayList()
{
array=newObject[20];
maxSize=20;
}
publicArrayList(intsize)
{
array=newObject[size];
maxSize=size;
}
publicvoidtestArray()
{
if(size>=maxSize)
{
Object[]newArray=newObject[maxSize+20];
System.arraycopy(array,0,newArray,0,array.length);
array=newArray;
maxSize+=20;
}
}
publicvoidadd(Objecto)
{
if(o==null)
return;
testArray();
array[size]=o;
size++;
}
publicvoidremove(Objecto)
{
if(size==0)
return;
intid=-1;
for(inti=0;i
{
if(array[i].equals(o))
{
id=i;
break;
}
}
if(id==-1)
return;
for(inti=id;i array[i]=array[i+1];
array[size-1]=null;//初始引用类型为空
size--;
}
publicObjectget(intid)
{
if(size==0)
returnnull;
if(id>=0&;&;id returnarray[id];
returnnull;
}
publicintsize()
{
returnsize;
}
publicIteratoriterator()
{
//局部内部类
/*classArrayListIteratorimplementsIterator