题目:自义一个类MyArrayList,实现ArrayList类中的add,remove,set,get,size,clear方法相同的功能

时间:2013.06.22 发布人:liu185045518

题目:自义一个类MyArrayList,实现ArrayList类中的add,remove,set,get,size,clear方法相同的功能

已解决问题

谷歌liu185045518用户在2013.06.22提交了关于“夏朗题目:自义一个类MyArrayList,实现ArrayList类中的add,remove,set,get,size,clear方法相同的功能”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-10-30T13:10:19。希望大家能够帮助她。

详细问题描述及疑问:期待您的答案,希望你能感受到,我最真诚的谢意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:behappy120  

importj**a.util.Arrays;

publicclassMyArrayList{

privateO丝运场身践角bject[]datas;//存放**
privateintsize;//存放

publicM受境集州yArrayList(){
this.size=0;
d句金输跳序atas=newObject[10];
}

publicbooleanadd(Objectobj){
ensureCapacity(升居都石都属益景务燃围size+1);
datas[size++]=obj;
returntrue;
}

publicObjectremove(intindex){
RangeCheck(index);
Ob木课手尔片台田战与jectoldValue=datas[index];

int**mMoved=size-index-1;
i文f(**mMoved>0)
System.arraycopy(datas,index+1,datas,index,
numMoved);
datas[--size]=**ll;

returnoldValue;
}

publicObjects校调沿妈般代季关社百大et(intinde威打持x,Objectobj){
RangeCheck(index);
助怕大ObjectoldValue=datas[index];

datas[index]=obj;
returnoldValue;
}

publicObjectget(intindex){
RangeCheck(index);

returndatas[index];
}

publicintsize(){
returnsize;
}

publicvoidclear(){
for(inti=0;i<datas.length;i++){
datas[i]=**ll;
}

size=0较好而价纸;
}

publicvoidensureCapacity(intminCapacity){
intoldCapacity=data黄反顾犯声增后些门误助s.length;
i困跑厚举令被完f(minCapacity>oldCapacity){
intnewCapacity=(o弱李错氢胡指故句却条别ldCapacity*3)/2+1;
if(newCapacity<minCapacit令被场队调夜着y)
newCapacity=minCapacity;
datas=Arrays.copyOf(datas,newCapacity);
}
}

privatevoidRa零丰受京老乡ngeCheck(intindex){
if(index>=size)
thrown九士调反草怕ewIndexOutOfBoundsException(
"Index:"+index+",Size:"+size);
}
}

publicclassTestMyArrayList{
publics封最所些决义倍taticvoidmain(String[]args){
MyArrayListlist=newMyArrayList();
list.add("test1");
list.add("test2");
list.add("test3");
list.add("test4");
System.out.println("size:"+list.size());
for(inti=0;i<list.size();i++){
System.out.println(i+":"+list.get(i));
}

ObjectoldValue=list.set(2,"test5");
System.out.println("oldValue:"+oldValue);
System.out.println("newValue:"+list.get(2));

list.remove(3);
System.out.println("size:"+list.size());
for(inti=0;i<list.size();i++){
System.out.println(i+":"+list.get(i));
}

list.clear();
System.out.println("size:"+list.size());

}
}