假设有一个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;
}
}
}