對象數組中實現動態數組的添加以及刪除功能


假設有一個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;

    }

  }

}


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM