Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java 개체 배열을 만드는 방법은 무엇입니까? 그들의 단점은 무엇입니까

<시간/>

배열은 고정된 수의 항목을 담을 수 있는 컨테이너이며 이러한 항목은 동일한 유형이어야 합니다. 대부분의 데이터 구조는 배열을 사용하여 알고리즘을 구현합니다. 다음은 Array의 개념을 이해하는 데 중요한 용어입니다.

  • 요소:배열에 저장된 각 항목을 요소라고 합니다.
  • 색인:배열에서 요소의 각 위치에는 요소를 식별하는 데 사용되는 숫자 인덱스가 있습니다.

객체 배열 생성

예, 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

객체 배열의 단점

  • 객체를 배열에 자주 저장하려면 배열의 길이를 자주 알아야 하는데, 이것이 항상 가능한 것은 아닙니다.
  • 객체 배열을 생성하면 그 내용을 수정할 수 없으며, 이를 수행할 수 있는 방법이 없습니다(컬렉션과 다름).
  • 객체 배열을 사용하지 않는 것이 좋습니다(메모리 문제를 염두에 둠).