ArrayList<Integer> list = new ArrayList<Integer>();

 

list라는 이름의 새로운 어레이 리스트 생성

 

ist.add(-1);
list.add(99);
list.add(4);
list.add(-10);
list.add(15);

 

예제를 위해서 어레이리스트에 5개의 값을 넣었습니다.

그리고 어레이리스트에 들어있는 값들을 모두 출력해보겠습니다.

 

for (Integer i : list) {
	System.out.printf("%d ", i);
}
-1 99 4 -10 15 

 

넣어 준 순서대로 잘 나오는 것을 확인할 수 있습니다.

이제 이 값들을 정렬해보겠습니다.

방법은 매우 간단합니다.

자바에서 제공하는 java.util.Collections 클래스의 sort 메소드를 이용하면 됩니다.

 

Collections.sort(list);

 

Collections.sort 메소드는 parameter로 받은 리스트 객체(어레이리스트는 리스트 객체를 상속받고 있다)를 오름차순(ascending order)으로 정렬해 줍니다.

결과를 확인해 보겠습니다.

 

-10 -1 4 15 99 

 

오름차순으로 예쁘게 잘 정렬되었습니다.

그렇다면 내림차순(descending order)로는 어떻게 정렬할까요?

아쉽게도 java.util.Collections 클래스에서 내림차순 정렬은 제공해주지 않습니다.

하지만 리스트를 반대로 뒤집어 주는 reverse 메소드가 있습니다.

즉, 리스트를 내림차순으로 정렬하기 위해서는 두가지 메소드를 사용해야 합니다.

먼저 오름차순으로 정렬한 후 정렬된 리스트를 역으로 뒤집는 겁니다.

위에서 이미 오름차순으로 정렬했으므로 reverse 메소드만 쓰면 내림차순으로 정렬된 리스트를 얻을 수 있겠네요.

 

Collections.reverse(list);

 

정렬이 모두 끝났습니다.

마지막으로 결과를 확인해보겠습니다.

 

for (Integer i : list) {
	System.out.printf("%d ", i);
}
99 15 4 -1 -10 

 

내림차순으로 정확히 정렬됐습니다!