GiantStepDEV

๋“ค์–ด๊ฐ€๊ธฐ์— ์•ž์„œ..

java.util ํŒจํ‚ค์ง€

  • java.util ํŒจํ‚ค์ง€์—๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์šฉํ•œ ์œ ํ‹ธ๋ฆฌํ‹ฐ ํด๋ž˜์Šค๊ฐ€ ๋‹ค์ˆ˜ ํฌํ•จ๋˜์–ด ์žˆ์Œ
  • ์‹ค์ œ๋กœ java.lang ํŒจํ‚ค์ง€ ๋‹ค์Œ์œผ๋กœ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ํŒจํ‚ค์ง€
  • import๋ฌธ์„ ์‚ฌ์šฉํ•˜์ง€ ์•Š์•„๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” java.lang๊ณผ ๋‹ฌ๋ฆฌ java.util ํŒจํ‚ค์ง€๋Š” import ๋ฌธ์œผ๋กœ ํŒจํ‚ค์ง€๋ฅผ ๋ถˆ๋Ÿฌ์™€์•ผ ํด๋ž˜์Šค ์ด๋ฆ„๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ

java.util.Arrays ํด๋ž˜์Šค

  • Arrays ํด๋ž˜์Šค์—๋Š” ๋ฐฐ์—ด์„ ๋‹ค๋ฃจ๊ธฐ ์œ„ํ•œ ๋‹ค์–‘ํ•œ ๋ฉ”์†Œ๋“œ๊ฐ€ ํฌํ•จ๋˜์–ด ์žˆ์Œ

binarySearch() ๋ฉ”์†Œ๋“œ

  • ์ด๋ถ„ ๊ฒ€์ƒ‰ ์•Œ๊ณ ๋ฆฌ์ฆ˜(๋ฐ˜์”ฉ ๋ฒ”์œ„๋ฅผ ์ชผ๊ฐœ๋ฉฐ ๊ฒ€์ƒ‰) ์‚ฌ์šฉํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ •๋ ฌ(sort())์ด ๋˜์–ด ์žˆ์–ด์•ผ ํ•จ!!
  • ํ•ด๋‹น ์œ„์น˜ ๋ฐ˜ํ™˜

๐Ÿธ sort() ๋ฉ”์†Œ๋“œ

์˜ค๋ฆ„ ์ฐจ์ˆœ ์ •๋ ฌ

  • sort() ๋ฉ”์†Œ๋“œ๋Š” ์ „๋‹ฌ๋ฐ›์€ ๋ฐฐ์—ด์˜ ๋ชจ๋“  ์š”์†Œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•ฉ๋‹ˆ๋‹ค.
import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        int[] arr = {5,1,2,3,4};
        Arrays.sort(arr);
        for(int e : arr) System.out.print(e + " ");
    }
}
1 2 3 4 5

โญ ๋‚ด๋ฆผ ์ฐจ์ˆœ ์ •๋ ฌ

compare() ์˜ค๋ฒ„๋ผ์ด๋”ฉ ํ•ด์„œ ์‚ฌ์šฉ
import java.util.Arrays;
import java.util.Comparator;

public class Main {
    public static void main(String[] args) {
        Integer[] arr = {5,1,2,3,4};
        Arrays.sort(arr, new Comparator<Integer>() {
            @Override
            public int compare(Integer o1, Integer o2) {
                if(o1 < o2) return 1;
                return -1;
            }
        });
        for(int e : arr) System.out.print(e + " ");
    }
}

 

5 4 3 2 1

asList() ๋ฉ”์†Œ๋“œ

  • ์ผ๋ฐ˜ ๋ฐฐ์—ด์„ ArrayList๋กœ ๋ณ€ํ™˜
List<int[]> list = Arrays.asList(arr);

๐Ÿ’ก ์—ฐ์Šต๋ฌธ์ œ

  • ๋ฐฐ์—ด์˜ ๊ฐฏ์ˆ˜ ์ž…๋ ฅ
  • ์ฐพ์„ ์ˆ˜ ์ž…๋ ฅ
  • ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ์ฐพ์„ ์ˆ˜์˜ ์ธ๋ฑ์Šค ์ถœ๋ ฅํ•˜๋ผ.
  • ๋ฐฐ์—ด์˜ ์š”์†Œ๋ฅผ ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ ์ฐพ์„ ์ˆ˜์˜ ์ธ๋ฑ์Šค๋ฅผ ์ถœ๋ ฅํ•˜๋ผ.
๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ ์‹คํ–‰ํ•˜๋ฉด ํ‹€๋ฆฐ ๊ฐ’์ด ๊ณ„์† ์ถœ๋ ฅ๋˜๋Š” ๋ฌธ์ œ ๋ฐœ๊ฒฌ!
์•Œ์•„๋ณด๋‹ˆ..binarySearch()๋Š” ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ๋œ ๋ฐฐ์—ด์—์„œ ํ‚ค ๊ฐ’์„ ์ฐพ๋Š”๋‹ค๊ณ  ํ•จ.
import java.util.Arrays;
import java.util.Comparator;
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int key = sc.nextInt();
        Integer[] arr = new Integer[num];
        for(int i = 0; i < arr.length; i++) {
            arr[i] = (int)(Math.random() * num) + 1;
        }
        Arrays.sort(arr);
        for(int e : arr) System.out.print(e + " ");
        System.out.println();
        int rst = Arrays.binarySearch(arr,key);
        if(rst >= 0)System.out.println("์ธ๋ฑ์Šค : " + rst);
        else System.out.println("์ฐพ๋Š” ๊ฐ’์ด ์—†์Šต๋‹ˆ๋‹ค.");
    }
}
10
5
1 3 4 5 5 6 7 8 9 10 
์ธ๋ฑ์Šค : 4

๐Ÿ’ก ์—ฐ์Šต๋ฌธ์ œ2

  • ์ž„์˜์˜ ๊ณผ์ผ ์ด๋ฆ„ 10๊ฐœ์˜ ๋ฐฐ์—ด ์ƒ์„ฑ
  • ๊ธธ์ด ์ˆœ์œผ๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ธธ์ด๊ฐ€ ๊ฐ™์œผ๋ฉด ์‚ฌ์ „์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ ์ถœ๋ ฅํ•˜๋ผ
    (compareTo() ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉ)
import java.util.Arrays;
import java.util.Comparator;

public class Practice {
    public static void main(String[] args) {
        String[] fruit = {"cherry", "banana", "pear", "lemon", "watermelon", "orange", "apple",
                "blueberry", "strawberry", "tomato"};
        Arrays.sort(fruit, new Comparator<String>() {
            @Override
            public int compare(String o1, String o2) {
                if(o1.length() > o2.length()) return 1;
                else if(o1.length() == o2.length()) return o1.compareTo(o2);
                return -1;
            }
        });
        for(String e : fruit) System.out.print(e + " ");
    }
}
pear apple lemon banana cherry orange tomato blueberry strawberry watermelon
์Œ์ˆ˜๊ฐ’์ด๋ฉด ํ˜„ ์ƒํƒœ ์œ ์ง€, ์–‘์ˆ˜๋ฉด ์ •๋ ฌํ•˜๋ผ..๋ฅผ ์ด์šฉํ•ด์„œ return๋ฌธ ์กฐ์ •

๐Ÿธ compareTo() ์—ฐ์Šต

public class Main {
    public static void main(String[] args) {
        String test = "abcd";
        System.out.println(test.compareTo("ab"));
        System.out.println(test.compareTo("abcd"));
        System.out.println(test.compareTo("abcdefg"));
2
0
-3

๋น„๊ตํ•˜๋Š” ๊ฐ’์ด ์ž‘์œผ๋ฉด ์–‘์ˆ˜
๋น„๊ตํ•˜๋Š” ๊ฐ’๊ณผ ๊ฐ™์œผ๋ฉด 0
๋น„๊ตํ•˜๋Š” ๊ฐ’์ด ํฌ๋ฉด ์Œ์ˆ˜
profile

GiantStepDEV

@kongmi

ํฌ์ŠคํŒ…์ด ์ข‹์•˜๋‹ค๋ฉด "์ข‹์•„์š”โค๏ธ" ๋˜๋Š” "๊ตฌ๋…๐Ÿ‘๐Ÿป" ํ•ด์ฃผ์„ธ์š”!