Java에서 List 내용을 오름차순, 내림차순 정렬하기

 

어지럽게 나열된 숫자를 순서대로 정리하는 방법을 올립니다.

예전에는 연습한다고 각각 숫자끼리 비교하면서 정리했는데, 요즘엔 시간이 우선이라 이용할 수 있는 건 바로바로 사용해서 써먹어야 합니다.

 

 

1. 샘플

 

랜덤 값으로 돌려도 되지만, 매번 비교할 때 값이 달라져 버리므로 고정된 값을 가지고 테스트 해보도록 하겠습니다.

 

int[] arr = {4, 23, 12, 16, 91, 59, 73, 28, 33, 41};

 

위와 같은 내용을 출력하면 순서대로 출력이 될 것입니다.

 

위의 내용을 오름차순이나 내림차순으로 정렬하고자 할 때, 예전에는 for 문을 돌려서 2개의 값을 비교하고 비교한 것을 순서대로 넣어서 정리를 했을 겁니다.

 

 

2. Arrays 사용하여 오름차순하기

 

오름차순이란 값 중에서 낮은 수부터 차례대로 정리하는 것을 말합니다.

 

Java에서 오름차순을 간단하게 하는 법을 설명하겠습니다.

 

Arrays 에 sort.. 말그래도 정렬을 하게 하는 방법이 있습니다.

 

사용법은 간단합니다. 아래와 같이 Arrays.sort 안에 배열을 넣어주기만 하면 됩니다.

 

int[] arr = {4, 23, 12, 16, 91, 59, 73, 28, 33, 41};

Arrays.sort(arr);

 

그 다음 출력을 하면 아래와 같이 낮은 숫자 순서대로 나옵니다.

 

4
12
16
23
28
33
41
59
73
91

 

이제 내림차순을 해보려고 하는데 Arrays 에는 내림차순이 없습니다.

내림차순을 하기 위해서는 배열에서 List 구조로 변경을 해줘야 합니다.

 

java.util 에 List 항목이 있습니다.

 

List 에 위의 int[]을 넣어주도록 합니다.

 

아래와 같이 Arrays.asList를 이용하면 List 구조체에 바로 복사가 됩니다.

 

int[] arr = {4, 23, 12, 16, 91, 59, 73, 28, 33, 41};

List<int[]> list = Arrays.asList(arr);

 

정렬을 할 때, 이번에는 Arrays 가 아닌 Collections을 사용하도록 하겠습니다.

사용법은 동일합니다.

 

Collections.sort(list);

 

list를 출력하면 결과는 위에 Arrays 사용한 것과 동일하게 낮은 순서대로 출력합니다.

 

 

3. 내림차순

 

이번에는 오름차순의 반대인 내림차순을 해보도록 하겠습니다.

 

내림차순은 높은 숫자부터 정렬되는 것입니다.

 

Arrays 에 없는 내림차순이 Collections 에는 있습니다.

 

int[] arr = {4, 23, 12, 16, 91, 59, 73, 28, 33, 41};

List<int[]> list = Arrays.asList(arr);

Collections.reverse(list);

 

list 내용을 출력하면 아래와 같이 나옵니다.

 

91
73
59
41
33
28
23
16
12
4

 

 

~(^_ ^ )~

 

간단한 내용인데 가끔 생각이 나지 않아서 정리를 해둔다면서 하나씩 올린 글들이 포럼에 많이 올라와있네요. +_+ 우왕~