如何在 Java 中建立物件陣列?它們的缺點是什麼?


陣列是一個容器,可以容納固定數量的專案,並且這些專案必須是相同型別。大多數資料結構都利用陣列來實現其演算法。以下是理解陣列概念的重要術語。

  • 元素:儲存在陣列中的每個專案稱為元素。
  • 索引:陣列中每個元素的位置都有一個數字索引,用於識別該元素。

建立物件陣列

是的,由於物件在 Java 中也被視為資料型別(引用),因此您可以建立一個特定類型別的陣列,並用該類的例項填充它。

示例

以下 Java 示例有一個名為 Std 的類,稍後在程式中,我們建立了一個 Std 型別的陣列,對其進行填充,並對陣列的所有元素呼叫一個方法。

線上演示

class Std {  
   private static int year = 2018;
   private String name;
   private int age;
   public Std(String name, int age){
      this.name = name;
      this.age = age;
   }
   public void setName(String name) {
      this.name = name;
   }
   public void setAge(int age) {
      this.age = age;
   }
   public void display(){
      System.out.println("Name: "+this.name);
      System.out.println("Age: "+this.age);
      System.out.println("Year: "+Std.year);
   }
}
public class Sample {
   public static void main(String args[]) throws Exception {  
   //Creating an array to store objects of type Std
   Std st[] = new Std[4];  
   //Populating the array
      st[0] = new Std("Bala", 18);
      st[1] = new Std("Rama", 17);
      st[2] = new Std("Raju", 15);
      st[3] = new Std("Raghav", 20);
      //Invoking display method on each object in the array
      for(int i = 0; i<st.length; i++) {
       st[i].display();
       System.out.println(" ");
      }
   }
}

輸出

Name: Bala
Age: 18
Year: 2018

Name: Rama
Age: 17
Year: 2018

Name: Raju
Age: 15
Year: 2018

Name: Raghav
Age: 20
Year: 2018

物件陣列的缺點

  • 要將物件儲存在陣列中,我們通常需要知道陣列的長度,而這並非總是可能的。
  • 建立物件陣列後,您無法修改其內容,沒有可用的方法可以這樣做(不像集合)。
  • 不建議使用物件陣列(考慮到記憶體問題)。

更新於: 2021年2月8日

112 次瀏覽

開啟您的 職業生涯

透過完成課程獲得認證

立即開始
廣告

© . All rights reserved.