public class MyArrayList {
Object[] elements; //用于存储元素
int size=0; //用于指示当前存的元素个数
public MyArrayList(){
elements=new Object[5];
}
public void add(Object o){
ensureCapacity();
elements[size++]=o;
}
public void ensureCapacity(){
if(size==elements.length){
int newLength=size*2;
Object[] temp=new Object[newLength];
for(int i=0;i<size;i++) temp[i]=elements[i];
elements=temp;
}
}
public boolean remove(Object o){
for(int i=0;i<size;i++){
if(o.equals(elements[i])){
for(int j=i;j<size-1;j++){
elements[j]=elements[j+1];
}
elements[--size]=null;
return true;
}
}
return false;
}
public int size(){
return size;
}
public String toString() {
StringBuffer sb=new StringBuffer("[");
if(size>0){
for(int i=0;i<size;i++){
if(i!=size-1){
sb.append(elements[i]+", ");
}else{
sb.append(elements[i]+"]");
}
}
}
if(size==0) sb.append("]");
return sb.toString();
}
}
自己手写简单的ArrayList
最新推荐文章于 2022-10-24 22:16:33 发布