array objects java
이 Java 자습서에서는 완전한 코드 예제를 사용하여 Java에서 객체 배열을 생성, 초기화, 정렬하는 방법을 배울 수 있습니다.
객체 배열이란 무엇입니까?
우리 모두 알고 있듯이 Java 프로그래밍 언어는 객체 지향 프로그래밍 언어이기 때문에 객체에 관한 것입니다.
프로그램에 단일 개체를 저장하려는 경우 개체 유형의 변수를 사용하여 저장할 수 있습니다. 그러나 수많은 객체를 다룰 때는 객체 배열을 사용하는 것이 좋습니다.
=> 여기에서 완벽한 Java 교육 가이드를 확인하십시오.
Java는 다른 기본 및 사용자 정의 데이터 유형과 함께 객체를 배열의 요소로 저장할 수 있습니다. '객체 배열'이라고 말하면 배열에 저장된 객체 자체가 아니라 객체의 참조입니다.
이 자습서에서는 생성, 초기화, 정렬 및 Java의 개체 배열 예제에 대해 알아 봅니다.
학습 내용 :
Java에서 객체 배열을 만드는 방법은 무엇입니까?
객체 배열은‘Object’클래스를 사용하여 생성됩니다.
다음 문은 객체 배열을 만듭니다.
Class_name () objArray;
또는 아래와 같이 객체 배열을 선언 할 수도 있습니다.
Class_nameobjArray();
위의 두 선언은 objArray가 객체의 배열임을 의미합니다.
따라서 'Employee'클래스가있는 경우 아래와 같이 Employee 개체의 배열을 만들 수 있습니다.
Employee() empObjects; OR Employee empObjects();
위의 객체 배열 선언은 프로그램에서 사용하기 전에 'new'를 사용하여 인스턴스화해야합니다.
당신은 할 수 있습니다 아래와 같이 객체 배열을 선언하고 인스턴스화합니다.
Employee() empObjects = new Employee(2);
노트 객체 배열이 위와 같이 인스턴스화되면 객체 배열의 개별 요소는 new를 사용하여 생성되어야합니다.
위의 문은 2 개의 요소 / 개체 참조가있는 개체 'empObjects'의 배열을 만듭니다.
객체 배열 초기화
객체 배열이 인스턴스화되면 값으로 초기화해야합니다. 객체의 배열이 기본 유형의 배열과 다르기 때문에 기본 유형을 사용하는 방식으로 배열을 초기화 할 수 없습니다.
객체 배열의 경우 배열의 각 요소, 즉 객체를 초기화해야합니다. 우리는 이미 객체 배열이 실제 클래스 객체에 대한 참조를 포함하고 있다고 논의했습니다. 따라서 객체 배열이 선언되고 인스턴스화되면 클래스의 실제 객체를 만들어야합니다.
객체 배열을 초기화하는 한 가지 방법은 생성자를 사용하는 것입니다. 실제 개체를 만들 때 생성자에 값을 전달하여 각 개체에 초기 값을 할당 할 수 있습니다. 또한 개체에 데이터를 할당 할 클래스에 별도의 멤버 메서드를 사용할 수도 있습니다.
다음 프로그램은 생성자를 사용한 배열 객체의 초기화를 보여줍니다.
여기에서는 Employee 클래스를 사용했습니다. 클래스에는 직원 이름과 직원 ID라는 두 개의 매개 변수를받는 생성자가 있습니다. 주요 기능에서 직원 배열이 생성 된 후 직원 클래스의 개별 객체를 생성합니다.
그런 다음 생성자를 사용하여 각 객체에 초기 값을 전달합니다.
프로그램의 출력은 이전에 초기화 된 각 객체의 내용 .
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create & initialize actual employee objects using constructor obj(0) = new Employee(100,'ABC'); obj(1) = new Employee(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; //Employee class constructor Employee(inteid, String n){ empId = eid; name = n; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
산출:
아래에 제공된 예제 프로그램은 Employee 개체에 초기 값을 할당하는 데 사용되는 Employee 클래스의 멤버 함수를 보여줍니다.
Java에서 객체 배열에 대한 예제 프로그램
Java에서 객체 배열을 보여주는 완전한 예제가 있습니다.
이 프로그램에는 직원 ID (empId)와 직원 이름 (name)이 필드로 있고 'setData'와 'showData'가 직원 개체에 데이터를 할당하고 직원 개체의 내용을 각각 표시하는 메서드 인 Employee 클래스가 있습니다.
프로그램의 주요 방법에서 먼저 Employee 개체의 배열을 정의합니다. 이것은 실제 객체가 아니라 참조의 배열입니다. 그런 다음 기본 생성자를 사용하여 Employee 클래스에 대한 실제 개체를 만듭니다. 다음으로 setData 메서드를 사용하여 개체에 데이터가 할당됩니다.
마지막으로 개체는 showData 메서드를 호출하여 Employee 클래스 개체의 내용을 표시합니다.
class Main{ public static void main(String args()){ //create array of employee object Employee() obj = new Employee(2) ; //create actual employee object obj(0) = new Employee(); obj(1) = new Employee(); //assign data to employee objects obj(0).setData(100,'ABC'); obj(1).setData(200,'XYZ'); //display the employee object data System.out.println('Employee Object 1:'); obj(0).showData(); System.out.println('Employee Object 2:'); obj(1).showData(); } } //Employee class with empId and name as attributes class Employee{ int empId; String name; public void setData(intc,String d){ empId=c; name=d; } public void showData(){ System.out.print('EmpId = '+empId + ' ' + ' Employee Name = '+name); System.out.println(); } }
산출:
Java에서 객체 배열을 정렬하는 방법?
기본 유형의 배열과 마찬가지로 객체 배열도 Arrays 클래스의 'sort'메서드를 사용하여 정렬 할 수 있습니다.
그러나 차이점은 객체가 속한 클래스가 객체 배열이 정렬되도록 'Comparable'인터페이스를 구현해야한다는 것입니다. 또한 배열을 정렬 할 필드를 결정하는 'compareTo'메서드를 재정의해야합니다. 개체 배열은 기본적으로 오름차순으로 정렬됩니다.
다음 프로그램은 객체 배열의 정렬을 보여줍니다. 이를 위해 Employee 클래스를 사용했으며 배열은 직원 ID (empId)를 기준으로 정렬됩니다.
C ++ 삽입 정렬 코드
import java.util.*; //employee class implementing comparable interface for array of objects class Employee implements Comparable { private String name; privateint empId; //constructor public Employee(String name, int empId) { this.name = name; this.empId = empId; } public String getName() { return name; } publicintgetempId() { return empId; } //overridden functions since we are working with array of objects @Override public String toString() { return '{' + 'name='' + name + ''' + ', EmpId=' + empId + '}'; } //compareTo method overridden for sorting array of objects @Override publicint compareTo(Employee o) { if (this.empId != o.getempId()) { returnthis.empId - o.getempId(); } returnthis.name.compareTo(o.getName()); } } //main class class Main { public static void main(String() args) { //array of Employee objects Employee() employees = { new Employee('Rick', 1), new Employee('Sam', 20), new Employee('Adi', 5), new Employee('Ben', 10) }; //print original array System.out.println('Original Array of Employee objects:'); System.out.println(Arrays.toString(employees)); //sort array on empId Arrays.sort(employees); //display sorted array System.out.println('
Sorted Array of Employee objects:'); System.out.println(Arrays.toString(employees)); } }
산출:
위의 프로그램에서 Employee 클래스는 Comparable 인터페이스를 구현합니다. 두 번째로, compareTo 메소드는 empId 필드에서 주어진 객체 배열을 정렬하기 위해 재정의됩니다.
또한 객체 배열을 문자열로 쉽게 변환 할 수 있도록‘toString’메소드를 재정의합니다.
자주 묻는 질문
Q # 1) Java에서 객체 배열을 가질 수 있습니까?
대답: 예. Java는 기본 유형의 배열을 가질 수있는 것과 마찬가지로 객체의 배열을 가질 수 있습니다.
Q # 2) Java에서 객체 배열이란 무엇입니까?
대답: Java에서 배열은 기본 데이터 유형 또는 객체 인 요소를 포함 할 수있는 동적으로 생성 된 객체입니다. 배열에는 객체 유형의 변수가 할당 될 수 있습니다.
Q # 3) Java에서 객체를 어떻게 정렬합니까?
대답: Java에서 객체를 정렬하려면 'Comparable'인터페이스를 구현하고 특정 필드에 따라 'compareTo'메소드를 재정의해야합니다. 그런 다음‘Arrays.sort’메서드를 사용하여 객체 배열을 정렬 할 수 있습니다.
Q # 4) ArrayList에서 객체를 어떻게 정렬합니까?
대답: ArrayList는 Collections.sort () 메서드를 사용하여 직접 정렬 할 수 있습니다. Collections.sort () 메서드는 요소를 오름차순으로 자연스럽게 정렬합니다.
결론
이 자습서에서는 개체 배열과 관련된 다양한 하위 항목과 함께 '개체 배열'항목에 대해 설명했습니다. 객체 배열을 초기화하고 정렬하는 예제를 보았습니다.
객체를 정렬 할 클래스를 정렬하려면‘Comparable’인터페이스를 구현하고‘compareTo’메서드도 재정의해야합니다. '객체 배열'의 내용을 인쇄하려면 각 객체의 모든 내용을 쓸 수 있도록 'toString'메서드도 재정의해야합니다.
=> 모두를위한 Java 교육 시리즈를 보려면 여기를 방문하십시오.