Java Reference
In-Depth Information
/ ** Array-basedlistimplementation * /
classAList<E>implementsList<E>{
privatestaticfinalintdefaultSize=10;//Defaultsize
privateintmaxSize; //Maximumsizeoflist
privateintlistSize; //Current#oflistitems
privateintcurr; //Positionofcurrentelement
privateE[]listArray; //Arrayholdinglistelements
/ ** Constructors * /
/ ** Createalistwiththedefaultcapacity. * /
AList(){this(defaultSize);}
/ ** Createanewlistobject.
@paramsizeMax#ofelementslistcancontain. * /
@SuppressWarnings("unchecked")//Genericarrayallocation
AList(intsize){
maxSize=size;
listSize=curr=0;
listArray=(E[])newObject[size];//CreatelistArray
}
publicvoidclear() //Reinitializethelist
{listSize=curr=0;}//Simplyreinitializevalues
/ ** Insert"it"atcurrentposition * /
publicvoidinsert(Eit){
assertlistSize<maxSize:"Listcapacityexceeded";
for(inti=listSize;i>curr;i--)//Shiftelementsup
listArray[i]=listArray[i-1];// tomakeroom
listArray[curr]=it;
listSize++; //Incrementlistsize
}
/ ** Append"it"tolist * /
publicvoidappend(Eit){
assertlistSize<maxSize:"Listcapacityexceeded";
listArray[listSize++]=it;
}
/ ** Removeandreturnthecurrentelement * /
publicEremove(){
if((curr<0)||(curr>=listSize))//Nocurrentelement
returnnull;
Eit=listArray[curr]; //Copytheelement
for(inti=curr;i<listSize-1;i++)//Shiftthemdown
listArray[i]=listArray[i+1];
listSize--; //Decrementsize
returnit;
}
Figure4.2 An array-based list implementation.
Search WWH ::




Custom Search