반응형
“객체 배열 정렬”은 사용자가 정의한 클래스의 객체로 이루어진 배열의 요소들을 기준에 따라 오름차순이나 내림차순으로 정렬하는 작업을 말합니다. 정렬 기준은 주로 객체의 특정 속성이나 비교 메서드를 통해 결정됩니다.
◎ 구문 |
// Arrays 클래스의 sort 메서드를 사용한 오름차순 정렬
Arrays.sort(array);
// Arrays 클래스의 sort 메서드를 사용한 내림차순 정렬
Arrays.sort(array, Comparator.reverseOrder());
◎ 예제 1: 객체 배열 오름차순 정렬 |
이 예제에서는 “Comparable” 인터페이스를 구현하여 나이를 기준으로 오름차순 정렬한 “Person” 클래스를 정의했습니다. “Arrays.sort()” 메서드를 사용하여 객체 배열을 정렬하고, 결과를 출력했습니다.
import java.util.Arrays;
public class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 나이를 기준으로 오름차순 정렬
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age);
}
public String toString() {
return name + " (" + age + " years old)";
}
public static void main(String[] args) {
// 객체 배열 선언 및 초기화
Person[] people = {
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 22),
new Person("David", 28)
};
// 오름차순 정렬
Arrays.sort(people);
// 결과 출력
System.out.println("나이로 오름차순 정렬 결과:");
for (Person person : people) {
System.out.println(person);
}
}
}
[출력]
나이로 오름차순 정렬 결과:
Charlie (22 years old)
Alice (25 years old)
David (28 years old)
Bob (30 years old)
◎ 예제 2: 객체 배열 내림차순 정렬 |
이 예제에서는 “Comparable” 인터페이스를 구현하여 나이를 기준으로 오름차순 정렬한 “Person” 클래스를 정의했습니다. “Arrays.sort()” 메서드를 사용하여 객체 배열을 내림차순으로 정렬하고, 결과를 출력했습니다.
import java.util.Arrays;
import java.util.Comparator;
public class Person implements Comparable<Person> {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
// 나이를 기준으로 오름차순 정렬
@Override
public int compareTo(Person other) {
return Integer.compare(this.age, other.age);
}
public String toString() {
return name + " (" + age + " years old)";
}
public static void main(String[] args) {
// 객체 배열 선언 및 초기화
Person[] people = {
new Person("Alice", 25),
new Person("Bob", 30),
new Person("Charlie", 22),
new Person("David", 28)
};
// 내림차순 정렬
Arrays.sort(people, Comparator.reverseOrder());
// 결과 출력
System.out.println("나이로 내림차순 정렬 결과:");
for (Person person : people) {
System.out.println(person);
}
}
}
[출력]
나이로 내림차순 정렬 결과:
Bob (30 years old)
David (28 years old)
Alice (25 years old)
Charlie (22 years old)
반응형
'자바(JAVA)' 카테고리의 다른 글
자바(Java) switch case 구문 사용하기 (0) | 2024.03.25 |
---|---|
자바(Java) if else 구문 사용하기 (0) | 2024.03.20 |
자바(Java) 기본 데이터 타입 (1) | 2024.03.19 |
자바(Java) 문자열을 비교하는 여러가지 방법 (2) | 2024.03.14 |
자바(Java) String 배열 정렬하기 (1) | 2024.02.26 |
자바(Java) replace() 와 replaceAll() 함수의 차이는? (0) | 2024.02.20 |
자바 OpenJDK 설치와 환경 변수 설정하기 (0) | 2024.02.18 |
자바(Java) String 배열 정렬하기 (0) | 2024.02.16 |