JAVA

[Java] 오름차순, 내림차순 정렬

yujin0517 2022. 8. 17. 17:42

오름차순, 내림차순 정렬

1. 오름차순 

import java.util.Arrays;
Arrays.sort(배열명);

 

<예시>

랜덤으로 0 ~ 99까지의 정수를 score 배열에 저장한 뒤 오름차순으로 정렬하여 출력하는 알고리즘입니다. 

import java.util.Arrays; 

public class Main {

	public static void main(String[] args) {
		int[] score = new int[8]; 
		
		System.out.print("Before -> ");
		for(int i = 0; i < score.length; i++) {
			score[i] = (int)(Math.random() * 100);
			System.out.print(score[i] + " ");
		}	
		System.out.println();
		
		Arrays.sort(score); //오름차순 정렬
		
		System.out.print("After  -> ");
		for(int v : score) {
			System.out.print(v + " ");
		}
	}
    
}

 

<콘솔>

오름차순 정렬

 

 

2. 내림차순

import java.util.Arrays;
import java.util.Collections;
Arrays.sort(배열명, reverseOrder());

 

<예시>

위의 오름차순 예시와 동일하며 정수는 내림차순으로 정렬하여 출력하는 알고리즘입니다. 

오름차순 정렬과 또 다른 점은 score 배열의 타입을 Integer로 선언한다는 점입니다. 

내림차순으로 정렬하거나 또는 원하는 대로 정렬 방식을 설정하고자 할 때는 기본형으로 선언된 배열은 사용이 불가합니다. 즉, 래퍼 클래스를 사용해야 합니다. 

Ex) int 타입의 경우 Integer 타입으로 선언 

import java.util.Arrays;
import java.util.Collections;

public class Main {

	public static void main(String[] args) {
		Integer[] score = {88, 50, 38, 100, 90, 99, 74, 65};
		
		System.out.print("Before -> ");
		for(int a : score) {
			System.out.print(a + " ");
		}
		System.out.println();
		
		//내림차순이거나 또는 원하는 대로 정렬 조건을 설정하고자 할 때 -> 기본형(Primitive Type) 배열에는 적용이 안된다. 
		Arrays.sort(score, Collections.reverseOrder());
		
		System.out.print("After  -> ");
		for(int b : score) {
			System.out.print(b + " ");
		}
		System.out.println();
	}
    
}

 

<콘솔>

내림차순 정렬

 

 

2022.08.17

 

감사합니다!

'JAVA' 카테고리의 다른 글

[Java] 다형성(polymorphism)  (0) 2022.08.31
[Java] 추상 클래스(abstract)  (0) 2022.08.19
[자바] 싱글톤 패턴(Singleton pattern)  (0) 2021.07.14
예외 처리  (0) 2021.07.13
[자바] 공격 프로그램 구현해보기  (0) 2021.07.11