Development

Java Array Sort (자바 배열 정렬)

OOOooOOoo·2021년 6월 14일·조회 6,392

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

댓글 0

로그인 후 댓글을 남길 수 있습니다.

아직 댓글이 없습니다.