[java] 컬렉션 프레임워크의 정렬 방법

자바 컬렉션 프레임워크는 데이터를 저장하고 처리하는데 유용한 클래스와 인터페이스의 모음입니다. 이 프레임워크를 사용하여 데이터를 정렬하는 방법에 대해 알아보겠습니다.

List 인터페이스

List 인터페이스는 순서가 있는 데이터의 컬렉션을 정의합니다. List에 포함된 데이터를 정렬하기 위해서는 Collections 클래스의 sort() 메서드를 사용할 수 있습니다.

import java.util.Collections;
import java.util.List;
import java.util.ArrayList;

public class SortExample {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>();
        numbers.add(5);
        numbers.add(2);
        numbers.add(7);
        numbers.add(1);
        
        Collections.sort(numbers);
        
        System.out.println(numbers); // [1, 2, 5, 7]
    }
}

위의 예제에서는 ArrayList에 숫자를 추가한 후 Collections.sort() 메서드를 사용하여 정렬하였습니다. sort() 메서드는 인자로 정렬할 List를 받고 해당 List를 오름차순으로 정렬합니다.

Set 인터페이스

Set 인터페이스는 중복을 허용하지 않는 데이터의 컬렉션을 정의합니다. Set에 포함된 데이터를 정렬하기 위해서는 List와 동일한 방법으로 Collections.sort() 메서드를 사용할 수 있습니다.

import java.util.Collections;
import java.util.TreeSet;

public class SortExample {
    public static void main(String[] args) {
        TreeSet<Integer> numbers = new TreeSet<>();
        numbers.add(5);
        numbers.add(2);
        numbers.add(7);
        numbers.add(1);
        
        List<Integer> sortedNumbers = new ArrayList<>(numbers);
        Collections.sort(sortedNumbers);
        
        System.out.println(sortedNumbers); // [1, 2, 5, 7]
    }
}

위의 예제에서는 TreeSet에 숫자를 추가한 후, ArrayList에 TreeSet의 데이터를 복사한 후에 정렬하였습니다. TreeSet은 내부적으로 데이터를 정렬하여 저장하기 때문에 정렬된 데이터를 가져올 수 있습니다.

Map 인터페이스

Map 인터페이스는 키와 값의 쌍으로 이루어진 데이터의 컬렉션을 정의합니다. Map의 키를 기준으로 데이터를 정렬하기 위해서는 해당 Map을 TreeMap으로 선언하면 됩니다.

import java.util.Collections;
import java.util.TreeMap;

public class SortExample {
    public static void main(String[] args) {
        TreeMap<String, Integer> scores = new TreeMap<>();
        scores.put("Alice", 85);
        scores.put("Bob", 72);
        scores.put("Charlie", 94);
        scores.put("Daniel", 68);
        
        System.out.println(scores); // {Alice=85, Bob=72, Charlie=94, Daniel=68}
    }
}

위의 예제에서는 TreeMap을 사용하여 이름과 점수를 저장했습니다. TreeMap은 키를 기준으로 데이터를 정렬하여 저장하기 때문에 정렬된 결과를 출력할 때도 정렬된 순서가 유지됩니다.

결론

컬렉션 프레임워크를 사용하여 데이터를 정렬하는 방법에 대해 알아보았습니다. List와 Set의 경우 Collections.sort() 메서드를 사용하여 정렬할 수 있으며, Map의 경우 키를 기준으로 정렬되는 TreeMap을 사용하여 정렬할 수 있습니다. 여러분의 데이터 정렬에 적합한 방법을 선택하여 사용해 보세요.