카테고리 없음

[Java] Arrays.sort( )를 이용한 객체 배열 정렬

happyst 2024. 8. 23. 17:13

샘플 코드

import java.util.Arrays;
import java.util.Comparator;

class Person {
    String name;
    int age;

    Person(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return name + ": " + age;
    }
}

public class Main {
    public static void main(String[] args) {
        Person[] people = {
            new Person("Alice", 30),
            new Person("Bob", 25),
            new Person("Charlie", 35)
        };
    }
}

 

Person 객체들의 배열 people을 age 기준으로 오름차순 정렬하는 방법은 아래와 같다
Arrays.sort(people, new Comparator<Person>() {
	@Override
	public int compare(Person p1, Person p2) {
		return Integer.compare(p1.age, p2.age);
	}
});

 

age 기준으로 내림차순 정렬하는 방법은 아래와 같다

 

Arrays.sort(people, new Comparator<Person>() {
	@Override
	public int compare(Person p1, Person p2) {
		return Integer.compare(p2.age, p1.age);
	}
});
  • 바뀐 부분: Integer.compare(p2.age, p1.age)