[java] 중복된 값이 있는 리스트를 정렬하는 방법

리스트 안에 중복된 값이 있는 경우, 중복된 값도 함께 정렬되어야 합니다. 자바에서는 다양한 방법을 사용하여 이러한 리스트를 정렬할 수 있습니다. 아래에서는 가장 일반적인 방법과 자바 8 이상에서 제공되는 람다식을 사용한 방법을 소개하겠습니다.

1. Collections.sort() 메서드 사용

import java.util.Collections;
import java.util.List;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
        Collections.sort(numbers);
        System.out.println(numbers);
    }
}

위의 예제에서는 Collections.sort() 메서드를 사용하여 리스트를 정렬하였습니다. 이 메서드는 리스트 안의 객체들을 정렬하는 데 사용되며, 중복된 값도 함께 정렬됩니다.

2. 람다식과 Stream API 사용

import java.util.List;
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        List<Integer> numbers = Arrays.asList(3, 1, 4, 1, 5, 9, 2, 6, 5, 3, 5);
        numbers.stream()
               .distinct()
               .sorted()
               .forEach(System.out::println);
    }
}

위의 예제에서는 자바 8에서 추가된 Stream API를 활용하여 리스트를 정렬하였습니다. distinct() 메서드를 통해 중복된 값이 제거된 후, sorted() 메서드로 정렬을 수행하였습니다.

이제 중복된 값이 있는 리스트를 정렬하는 데에 있어 다양한 방법을 사용할 수 있게 되었습니다.

참고 자료: