Java Reference
In-Depth Information
/
**
Array-basedstackimplementation
*
/
classAStack<E>implementsStack<E>{
privatestaticfinalintdefaultSize=10;
privateintmaxSize; //Maximumsizeofstack
privateinttop; //IndexfortopObject
privateE[]listArray; //Arrayholdingstack
/
**
Constructors
*
/
AStack(){this(defaultSize);}
@SuppressWarnings("unchecked")//Genericarrayallocation
AStack(intsize){
maxSize=size;
top=0;
listArray=(E[])newObject[size]; //CreatelistArray
}
/
**
Reinitializestack
*
/
publicvoidclear(){top=0;}
/
**
Push"it"ontostack
*
/
publicvoidpush(Eit){
asserttop!=maxSize:"Stackisfull";
listArray[top++]=it;
}
/
**
Removeandtopelement
*
/
publicEpop(){
asserttop!=0:"Stackisempty";
returnlistArray[--top];
}
/
**
@returnTopelement
*
/
publicEtopValue(){
asserttop!=0:"Stackisempty";
returnlistArray[top-1];
}
/
**
@returnStacksize
*
/
publicintlength(){returntop;}
Figure4.19
Array-based stack class implementation.