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
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.