ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

Studying๐Ÿ“‘

Java Arrays.sort()

hae.company 2025. 11. 26. 21:23
๋ฐ˜์‘ํ˜•

Arrays.sort()

 

์ž๋ฐ”์—์„œ ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•˜๊ณ  ์‹ถ์„ ๋•Œ java.util.Arrays ํด๋ž˜์Šค์˜ sort() ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋”ฐ๋กœ ์ •๋ ฌ ์•Œ๊ณ ๋ฆฌ์ฆ˜์„ ์งœ์ง€ ์•Š๊ณ ๋„ ํ•œ๋ฒˆ์˜ ๋ฉ”์†Œ๋“œ ํ˜ธ์ถœ๋กœ ๊ฐ„ํŽธํ•˜๊ฒŒ ๋ฐฐ์—ด์ด๋‚˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์ •๋ ฌํ•  ์ˆ˜ ์žˆ๋‹ค. 

Arraysํด๋ž˜์Šค๋Š” ๋ฐฐ์—ด์˜ ๋ณต์‚ฌ, ํ•ญ๋ชฉ ์ •๋ ฌ, ๊ฒ€์ƒ‰๊ณผ ๊ฐ™์€ ๋ฐฐ์—ด์„ ์กฐ์ž‘ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. 

 

 

Arrays.sort(๋ฐฐ์—ด);

์œ„์™€ ๊ฐ™์ด ๊ด„ํ˜ธ์•ˆ์— ์ •๋ ฌํ•  ๋Œ€์ƒ์ด ๋˜๋Š” ๋ฐฐ์—ด์„ ๋„ฃ์–ด์ฃผ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ผ์„œ ๋งค์šฐ ๊ฐ„ํŽธํ•˜๋‹ค.

์ด๋Š” intํ˜•, Stringํ˜• ๋ชจ๋‘ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋ฉด ๋ ๊นŒ?

Arrays.sort() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ด๋†“์•˜์œผ๋‹ˆ, ์ด๋ฅผ ์—ญ์ˆœ์œผ๋กœ ๋ณด์—ฌ์ค€๋‹ค๋ฉด ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

// ํ•ด์„ค์ฐธ์กฐ : sehyeok.tistory.com 

import java.io.IOException;
import java.util.Arrays;

public class Main {
    public static void main(String args[]) throws IOException {
        int num[] = { 10, 25, 42, 23, 51, 19, 34, 44 }; // ์ˆซ์ž ๋ฐฐ์—ด
        String fruit[] = { "apple", "orange", "banana", "grape", "peach", "melon" }; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด
        Arrays.sort(num); // ์ˆซ์ž ๋ฐฐ์—ด ์ •๋ ฌ
        Arrays.sort(fruit); // ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์ •๋ ฌ

        for (int i : num) { // ์ˆซ์ž ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
            System.out.print(i + " ");
        }
        System.out.println("");

        for (String i : fruit) { // ๋ฌธ์ž์—ด ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ
            System.out.print(i + " ");
        }
        System.out.println("");

        for (int i = num.length - 1; i >= 0; i--) { // ์ˆซ์ž ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
            System.out.print(num[i] + " ");
        }
        System.out.println("");

        for (int i = fruit.length - 1; i >= 0; i--) { // ๋ฌธ์ž์—ด ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ
            System.out.print(fruit[i] + " ");
        }
    }

}

 

๊ฒฐ๊ณผ

 

์œ„์™€ ๊ฐ™์ด for๋ฌธ์„ ์ด์šฉํ•ด์„œ ์—ญ์ˆœ์œผ๋กœ ์ถœ๋ ฅํ•œ๋‹ค๋ฉด ๋‚ด๋ฆผ์ฐจ์ˆœ๋„ ๊ฐ„๋‹จํžˆ ํ•ด๊ฒฐ ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

๋‹ค๋งŒ, ์ข€ ๋” ๊ฐ„ํŽธํžˆ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์ด ์žˆ๋‹ค.

 

 

Collections.reverseOrder()

 

Collections.reverseOrder() ๋ฉ”์†Œ๋“œ๋ฅผ ์ด์šฉํ•˜๋ฉด ์—ญ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์„ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

Arrays.sort(๋ฐฐ์—ด, Collections.reverseOrder());

์‚ฌ์šฉ๋ฒ•๋„ ๊ฐ„๋‹จํ•œ๋ฐ, Arrays.sort() ๋ฉ”์†Œ๋“œ์˜ ๋‘๋ฒˆ์งธ ํŒŒ๋ผ๋ฏธํ„ฐ๋กœ ์ด ๋ฉ”์†Œ๋“œ๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ๋œ๋‹ค.

 

๋‹ค๋งŒ ์ด ๋•Œ ์ฃผ์˜ํ•  ์ ์ด ์žˆ๋Š”๋ฐ,

Collections.reverseOrder()์œผ๋กœ ์ •๋ ฌํ•  ๋ฐฐ์—ด์€ ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์ด ์•„๋‹Œ ๋ž˜ํผํด๋ž˜์Šค ์ด์–ด์•ผ ํ•œ๋‹ค๋Š” ์ ์ด๋‹ค.

Collections๋Š” Object๋ฅผ ์ƒ์†ํ•œ ํด๋ž˜์Šค์— ๋Œ€ํ•ด์„œ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธํ„ฐํŽ˜์ด์Šค์ด๋ฏ€๋กœ,

String, Integer, Double ๋“ฑ๊ณผ ๊ฐ™์€ Object ํƒ€์ž…์˜ ๋ฐฐ์—ด์€ Collections.reverseOrder() ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•˜๊ณ ,

ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์ธ int, double, char, float ๋“ฑ์€ ์‚ฌ์šฉ์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค.

 

๋•Œ๋ฌธ์— ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…์˜ ๋ฐฐ์—ด์„ Object๋ฅผ ์ƒ์†ํ•˜๋Š” Wrapper ํด๋ž˜์Šค๋กœ ๋ฐ•์‹ฑํ•ด์ฃผ์–ด์•ผ ์—ญ์ˆœ์ •๋ ฌ๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.

 

์ถœ์ฒ˜ : https://bangu4.tistory.com/287

 

 

// ํ•ด์„ค์ฐธ์กฐ : sehyeok.tistory.com 

import java.io.IOException;
import java.util.Arrays;
import java.util.Collections;

public class Main {
    public static void main(String args[]) throws IOException {
        int num[] = { 10, 25, 42, 23, 51, 19, 34, 44 }; // ์ˆซ์ž ๋ฐฐ์—ด (ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž…)
        String fruit[] = { "apple", "orange", "banana", "grape", "peach", "melon" }; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด

        Arrays.sort(num); // ์ˆซ์ž ๋ฐฐ์—ด ์ •๋ ฌ
        Arrays.sort(fruit); // ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์ •๋ ฌ

	Arrays.sort(num, Collections.reverseOrder()); // ์ˆซ์ž ๋ฐฐ์—ด ์—ญ์ˆœ ์ •๋ ฌ -> ์˜ค๋ฅ˜ ๋ฐœ์ƒ
        
        Integer[] tmp = Arrays.stream(num).boxed().toArray(Integer[]::new); // ํ”„๋ฆฌ๋ฏธํ‹ฐ๋ธŒ ํƒ€์ž… ๋ฐฐ์—ด์„ ๋ž˜ํผํด๋ž˜์Šค๋กœ ๋ฐ•์‹ฑ

        Arrays.sort(tmp, Collections.reverseOrder()); // ์ˆซ์ž ๋ฐฐ์—ด ์—ญ์ˆœ ์ •๋ ฌ
        Arrays.sort(fruit, Collections.reverseOrder()); // ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์—ญ์ˆœ ์ •๋ ฌ

        for (int i : tmp) { // ์ˆซ์ž ๋ฐฐ์—ด ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ
            System.out.print(i + " ");
        }
        System.out.println("");

        for (String i : fruit) { // ๋ฌธ์ž์—ด ๋ฐฐ์—ด ์ˆœ์„œ๋Œ€๋กœ ์ถœ๋ ฅ
            System.out.print(i + " ");
        }
        System.out.println("");
    }
}

 

๊ฒฐ๊ณผ

 

์ˆซ์ž ๋ฐฐ์—ด num ๊ณผ ๋ฌธ์ž์—ด ๋ฐฐ์—ด fruit ๋ฅผ ์—ญ์ˆœ ์ •๋ ฌํ•œ ๊ฒฐ๊ณผ์ด๋‹ค.

num๋ฐฐ์—ด์€ intํ˜•์œผ๋กœ ์„ ์–ธ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ์ด๋Œ€๋กœ Collections.reverseOrder()๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

๋•Œ๋ฌธ์— Integer[] tmp = Arrays.stream(num).boxed().toArray(Integer[]::new) ๊ณผ์ •์„ ํ†ตํ•ด tmp๋ผ๋Š” Integerํƒ€์ž…์˜ ๋ฐฐ์—ด์— intํ˜• ๋ฐฐ์—ด์ธ num์„ Integerํƒ€์ž…์œผ๋กœ ๋ฐ•์‹ฑํ•ด์ฃผ๋Š” ๊ณผ์ •์„ ๊ฑฐ์นœ ํ›„, tmp๋ฐฐ์—ด์„ Collections.reverseOrder()๋ฅผ ์ด์šฉํ•ด sortํ•˜๋ฉด ์ •์ƒ์ ์ธ ๊ฒฐ๊ณผ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋‹ค.

์ถœ์ฒ˜: https://sehyeok.tistory.com/190 [๊ณต๋ถ€๋ฐฉ:ํ‹ฐ์Šคํ† ๋ฆฌ]

๋ฐ˜์‘ํ˜•
๋ฐ˜์‘ํ˜•
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2026/02   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
๊ธ€ ๋ณด๊ด€ํ•จ