1. 개요
자바 언어에서 배열(Array)을 정렬하는 방법이다. Arrays.sort 를 사용한다.
2. 숫자 정렬
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
int nums[] = { 13, 47, 55, 61, 99, 45 };
for ( int n : nums ) {
System.out.println(n);
}
Arrays.sort(nums);
System.out.println("After sort ->");
for ( int n : nums ) {
System.out.println(n);
}
}
}
결과는 다음과 같다.
13 47 55 61 99 45 After sort -> 13 45 47 55 61 99
3. 숫자 역정렬 (Reverse)
- int 배열을 Integer[] 배열로 변환
- Reverse 처리
import java.util.Arrays;
import java.util.Collections;
public class ArraySort {
public static void main(String[] args) {
int nums[] = { 13, 47, 55, 61, 99, 45 };
for ( int n : nums ) {
System.out.println(n);
}
Arrays.sort(nums);
System.out.println("After sort ->");
for ( int n : nums ) {
System.out.println(n);
}
Integer[] numInt = Arrays.stream(nums).boxed().toArray(Integer[]::new);
Arrays.sort(numInt, Collections.reverseOrder());
System.out.println("After reverse sort ->");
for ( Integer n : numInt ) {
System.out.println(n);
}
}
}
결과는 다음과 같다.
13 47 55 61 99 45 After sort -> 13 45 47 55 61 99 After reverse sort -> 99 61 55 47 45 13
4. 문자 정렬
import java.util.Arrays;
public class ArraySort {
public static void main(String[] args) {
String strs[] = { "Apple", "Dell", "Gateway", "Sambo", "Daewoo" };
for ( String s : strs ) {
System.out.println(s);
}
Arrays.sort(strs);
System.out.println("After sort ->");
for ( String s : strs ) {
System.out.println(s);
}
}
}
결과는 다음과 같다.
Apple Dell Gateway Sambo Daewoo After sort -> Apple Daewoo Dell Gateway Sambo
5. 문자 역정렬 (Reverse)
- ArrayList로 변환
- 정렬 후 다시 배열로 변환
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collections;
import java.util.List;
public class ArraySort {
public static void main(String[] args) {
String strs[] = { "Apple", "Dell", "Gateway", "Sambo", "Daewoo" };
for ( String s : strs ) {
System.out.println(s);
}
Arrays.sort(strs);
System.out.println("After sort ->");
for ( String s : strs ) {
System.out.println(s);
}
List strList = new ArrayList(Arrays.asList(strs));
Collections.reverse(strList);
System.out.println("After reverse sort ->");
String[] sortedStrs = strList.toArray(new String[strList.size()]);
for ( String s : sortedStrs ) {
System.out.println(s);
}
}
}
결과는 다음과 같다.
Apple Dell Gateway Sambo Daewoo After sort -> Apple Daewoo Dell Gateway Sambo After reverse sort -> Sambo Gateway Dell Daewoo Apple
