어제 오늘 내일

[Java 기초] Collections.reverse()로 리스트 순서 뒤집기 본문

IT/Java

[Java 기초] Collections.reverse()로 리스트 순서 뒤집기

hi.anna 2025. 9. 2. 01:31

리스트를 정렬할 때는 Collections.sort()를 사용하지만, 단순히 순서를 반대로 바꾸고 싶을 때는 어떻게 해야 할까요?
이럴 때 유용한 메서드가 바로 Collections.reverse()입니다.

 

1. 기본 사용법

import java.util.*;

public class ReverseExample1 {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>(Arrays.asList(1, 2, 3, 4, 5));

        Collections.reverse(numbers);

        System.out.println(numbers);
    }
}

실행 결과

[5, 4, 3, 2, 1]

👉 리스트의 요소 순서가 그대로 반대로 뒤집혔습니다.

 

2. 문자열 리스트 뒤집기

문자열도 동일하게 적용할 수 있습니다.

import java.util.*;

public class ReverseExample2 {
    public static void main(String[] args) {
        List<String> names = new ArrayList<>(Arrays.asList("Alice", "Bob", "Charlie"));

        Collections.reverse(names);

        System.out.println(names);
    }
}

실행 결과

[Charlie, Bob, Alice]

 

3. 정렬과 함께 활용하기

Collections.sort()와 함께 쓰면 내림차순 정렬처럼 활용할 수 있습니다.

import java.util.*;

public class ReverseExample3 {
    public static void main(String[] args) {
        List<Integer> numbers = new ArrayList<>(Arrays.asList(3, 1, 4, 5, 2));

        // 오름차순 정렬
        Collections.sort(numbers);
        System.out.println("정렬 후: " + numbers);

        // 순서 뒤집기 → 내림차순
        Collections.reverse(numbers);
        System.out.println("내림차순: " + numbers);
    }
}

실행 결과

정렬 후: [1, 2, 3, 4, 5]
내림차순: [5, 4, 3, 2, 1]

 

4. Collections.reverseOrder()와의 차이점

  • Collections.reverse()
    👉 이미 존재하는 리스트의 순서만 뒤집음
  • Collections.reverseOrder()
    👉 Collections.sort()에서 사용하여 내림차순 정렬을 할 때 활용

즉, 단순히 뒤집고 싶으면 reverse(), 정렬 과정에서 바로 내림차순 하고 싶으면 reverseOrder()를 쓰는 게 더 적절합니다.

 

5. 정리

  • Collections.reverse()리스트의 순서를 반대로 뒤집는 메서드
  • 정렬 없이 단순히 순서를 뒤집고 싶을 때 유용
  • Collections.sort()와 조합하면 내림차순 정렬도 가능
  • Collections.reverseOrder()와 혼동하지 말 것

👉 순서만 바꿀 때는 reverse(), 내림차순 정렬은 reverseOrder()!

 

 

반응형
Comments