假設有一個Chicken類,小雞類的id是唯一的,還有一個ChickenManager小雞管理類,下列功能在小雞管理類中定義
int count = 0; //定義一個變量表示動態數組的長度
Chicken[ ] chicken = null; // 在小雞管理類中創建小雞對象
//動態數組的添加功能
public void add(Chicken c){
//判斷是否到達數組長度
if(count >= chicken.length){
int newlen = chicken.length*2; //擴充數組
chicken = Arrays.copyOf(chicken,newlen); //調用Arrays方法復制數組
}
chicken[count] = c;
count++;
}
//動態數組的刪除功能
public void del(int id){
for(int i = 0;i<count;i++){ //先通過id號查找到要刪除的小雞
if(chicken[i].getId() == id){
for(int j = i;j<count-1;j++){ //找到該小雞后,后面的小雞依次往前挪動,避免出現數組之間有空
chicken[j] = chicken[j+1];
}
chicken[count-1] = null; //最后把數組最后一個元素賦值為空,並減掉一個數組長度
count--;
break;
}
}
}
