/**********************************************************
* javascript实现的arraylist类 ![]()
*
* @author yoinn {yoinn@21cn.com}
* @version $revision: 0.5 $ $date: 2004/09/28 15:00:00 $
* @description
* method:
* add(element);
* addelementat(index, element);
* contains(element);
* get(index);
* isempty(index);
* indexof(element);
* lastindexof(element);
* remove()
* setelementat(index, element);
* size();
* tostring();
* @example
* var arrlist = new arraylist();
* //var arrlist = new arraylist(10);
* arrlist.add("000");
* arrlist.add("001");
* arrlist.add("002");
*
*********************************************************/
var arraylist = function(){
var args = arraylist.arguments;
var initialcapacity = 10;
if( args!=null && args.length>0 ){
initialcapacity = args[0];
}
var elementdata = new array(initialcapacity);
var elementcount = 0;
this.size = function(){
return elementcount;
}
this.add = function (element) {
//alert("add");
ensurecapacity(elementcount + 1);
elementdata[elementcount++] = element;
return true;
}
this.addelementat = function (index, element ){
//alert("addelementat");
if ( index > elementcount || index < 0 ){
alert( "indexoutofboundsexception, index: " + index + ", size: " + elementcount );
return;
//throw (new error(-1,"indexoutofboundsexception, index: "+index+", size: " + elementcount));
}
ensurecapacity( elementcount+1 );
for( var i=elementcount+1; i>index; i-- ){
elementdata[i] = elementdata[i-1]
}
elementdata[index] = element;