자바에서는 다양한 방법으로 배열과 컬렉션을 정렬할 수 있는데요.
가장 일반적인 방법은 Arrays.sort()
와 Collections.sort()
메서드를 사용하는 것입니다!
하지만 이 외에도 Comparator와 Comparable 인터페이스를 구현하여 사용자 정의 정렬 기준을 지정할 수도 있는데요.
아래에서 각각의 방법을 설명해보도록 하겠습니다!
1. 배열 정렬
Arrays.sort()
- 배열을 정렬합니다.
- 기본적으로 오름차순으로 정렬됩니다.
- Comparable 인터페이스를 구현한 객체의 배열은 기본 정렬 기준에 따라 정렬됩니다.
int[] array = {3, 1, 4, 1, 5, 9, 2, 6};
Arrays.sort(array); // 오름차순으로 정렬
사용자 정의 Comparator를 이용한 배열 정렬
- Comparator 인터페이스를 구현하여 사용자 정의 정렬 기준을 지정할 수 있습니다.
Integer[] array = {3, 1, 4, 1, 5, 9, 2, 6};
Arrays.sort(array, Comparator.reverseOrder()); // 내림차순으로 정렬
2. 컬렉션 정렬
Collections.sort()
- List, Set 및 Queue와 같은 컬렉션을 정렬합니다.
- 기본적으로 오름차순으로 정렬됩니다.
- Comparable 인터페이스를 구현한 객체의 컬렉션은 기본 정렬 기준에 따라 정렬됩니다.
List<Integer> list = new ArrayList<>();
list.add(3);
list.add(1);
list.add(4);
Collections.sort(list); // 오름차순으로 정렬
사용자 정의 Comparator를 이용한 컬렉션 정렬
- Comparator 인터페이스를 구현하여 사용자 정의 정렬 기준을 지정할 수 있습니다.
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
Collections.sort(list, Comparator.comparing(String::length)); // 길이를 기준으로 정렬
3. Comparable 인터페이스 구현
- Comparable 인터페이스를 구현하여 객체의 기본 정렬 순서를 정의할 수 있습니다.
class Person implements Comparable<Person> {
private String name;
private int age;
// Constructor, getters, setters
@Override
public int compareTo(Person otherPerson) {
return this.age - otherPerson.age; // 나이를 기준으로 오름차순 정렬
}
}
이렇게 정의된 Comparable 인터페이스를 구현한 클래스는 Arrays.sort()
나 Collections.sort()
를 사용하여 정렬할 수 있습니다.
이상으로 자바에서 배열과 컬렉션을 정렬하는 여러 가지 방법에 대해 알아보았습니다.
'Programming > JAVA' 카테고리의 다른 글
Java의 public static void main 메서드 이해하기 (0) | 2024.07.03 |
---|---|
[Java] 자바에서 다양한 데이터 구조에서 길이를 가져오는 메서드 (0) | 2024.03.29 |
[Java] Java에서 정수를 문자열로 변환하는 방법 (0) | 2024.03.29 |
[Java] 자바 상속의 장점과 특징 + 선언 방법 (0) | 2023.04.18 |
[Java] n진법 변환 하는 법(n진수 ↔ 10진수) (0) | 2023.04.15 |