ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [์ž๋ฐ”(JAVA)] ๋ฐฐ์—ด(Array), length(), charAt(), substring(), equals(), toCharArray(), ๋‹ค์ฐจ์› ๋ฐฐ์—ด
    JAVA 2023. 5. 23. 15:48
    728x90

     

    ๐Ÿ“Œ ๋ฐฐ์—ด(Array)
    :
    ์—ฌ๋Ÿฌ๊ฐœ์˜ ๋ณ€์ˆ˜๋ฅผ ํ•œ๋ฒˆ์— ์ €์žฅํ•˜๊ณ  ๊ด€๋ฆฌํ• ๋•Œ ๋ฐฐ์—ด์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ์ €์žฅ(ํ‘œํ˜„)ํ•จ.

     

    • ์ž๋ฐ”์˜ ์ž๋ฃŒ๊ตฌ์กฐ ์ค‘ ํ•˜๋‚˜์ด๋ฉฐ, ๋งŽ์€ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋‹ค๋ฃจ๊ฑฐ๋‚˜ ๊ณ„์‚ฐํ• ๋•Œ ์‚ฌ์šฉํ•จ
    • ์ฃผ๋กœ for๋ฌธ์ด๋‚˜ length๋“ฑ๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•จ
    ์„ ์–ธ ํ˜•ํƒœ:
    1.  ํƒ€์ž… [] ๋ณ€์ˆ˜ = ๋ณ€์ˆ˜์„ ์–ธ;
    ex. int[] intArray;
    2. ํƒ€์ž… ๋ณ€์ˆ˜[] = ๋ณ€์ˆ˜์„ ์–ธ;
    ex. int intArray[];

     

     

    โœ… ๋ฐฐ์—ด ์„ ์–ธ์˜ˆ์‹œ

    // ์„ ์–ธ๋ฐฉ์‹(1)
    int[] intArray;    // ์ •์ˆ˜ ๋ฐฐ์—ด
    String[] stringArray; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด
    
    
    // ์„ ์–ธ๋ฐฉ์‹(2)
    int intArray[];    // ์ •์ˆ˜ ๋ฐฐ์—ด
    String stringArray[]; // ๋ฌธ์ž์—ด ๋ฐฐ์—ด

     

     

     

    ๐Ÿ”น ์ƒ์„ฑ(ํ• ๋‹น)๋ฐฉ๋ฒ•

        - ๋ฐฐ์—ด(Array)๋Š” ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋“ค์ฒ˜๋Ÿผ new ๋ช…๋ น์„ ํ†ตํ•ด์„œ ์ƒ์„ฑํ•˜๋ฉฐ, ๋Œ€๊ด„ํ˜ธ[] ์•ˆ์— ํฌ๊ธฐ๋ฅผ ์ง€์ •ํ•จ

     

     

    ๋ฐฐ์—ด์€ ์ธ๋ฑ์Šค(index)๊ฐ€ ์žˆ์–ด์„œ ๊ฐ ์นธ๋งˆ๋‹ค ์ˆœ๋ฒˆ์œผ๋กœ ๋‚˜๋ˆ ์ง„๋‹ค.

    ex) arr[0] -> arr๋ฐฐ์—ด์˜ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค ๊ฐ’

     

     

    ๋ฐฐ์—ด์˜ ์ƒ์„ฑ์‹œ ์ƒ์„ฑ๋ ๋•Œ ๊ฐ ํƒ€์ž…๋ณ„ ์ดˆ๊ธฐ๊ฐ’์œผ๋กœ ์ดˆ๊ธฐํ™” ๋จ

     

    <ํƒ€์ž…๋ณ„ ์ดˆ๊ธฐํ™” ๊ฐ’>
    - int = 0
    - boolean = false
    - String = Null

     

     

    โœ… ๋ฐฐ์—ด ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™” ์˜ˆ์‹œ 

    // ๋ฐฐ์—ด ์ƒ์„ฑ
    int[] intArray = new int[3]; // intํ˜• ์ดˆ๊ธฐ๊ฐ’ {0,0,0}
    boolean[] boolArray = new boolean[3]; // booleanํ˜• ์ดˆ๊ธฐ๊ฐ’ {false, false, false}
    String[] stringArray = new String[3]; // Stringํ˜• ์ดˆ๊ธฐ๊ฐ’ {"","",""}
    		
    //๋ฐฐ์—ด ์„ ์–ธ ์ดํ›„์— ์ดˆ๊ธฐํ™” ์ง„ํ–‰
    int[] intArray2;
    intArray2 = new int[3]; // ์ดˆ๊ธฐ๊ฐ’ {0,0,0}

     

     

    โœ… ๋ฐฐ์—ด์˜ ์ˆœํšŒ ์˜ˆ์‹œ

    int[] intArray = new int[3];
    
    for(int i=0; i<intArray.length; i++) {     // length ๋Š” ๋ฐฐ์—ด์˜ ๊ธธ์ด
    	System.out.println(intArray[i]);
    }
    
    // ์ถœ๋ ฅ (int์˜ ์ดˆ๊ธฐ๊ฐ’)
    0
    0
    0

     

     

    ๐Ÿ’ฌ length() 
    : ํ•ด๋‹น ๋ฐฐ์—ด์˜ ๊ธธ์ด๋ฅผ ํ™•์ธํ•จ

    ex) intArray.length  -> 3

     

     

    ๐Ÿ”น ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™”

    ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• 3๊ฐ€์ง€

    1. ์ค‘๊ด„ํ˜ธ{} ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”
    2. ๋ฐ˜๋ณต๋ฌธ for๋ฌธ์„ ์‚ฌ์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”
    3. Arrays.fill ๋ฉ”์†Œ๋“œ๋ฅผ ์‚ฌ์šฉํ•ด์„œ ์ดˆ๊ธฐํ™”

      โœ” Arrays: ์ž๋ฐ”์˜ ์œ ํ‹ธ๋ฆฌํ‹ฐ, ์ž๋ฐ”๋ผ๋Š” ์–ธ์–ด ์•ˆ์—์„œ ๋ฐฐ์—ด์— ๊ด€๋ จ๋œ ์ž‘์—…์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๋ชจ๋“  ๋ฉ”์„œ๋“œ์˜ ์ง‘ํ•ฉ

     

    Arrays.fill(intArray, 1);//๋ฐฐ์—ด์˜ ๋ชจ๋“  ๊ฐ’์„ 1๋กœ ์ดˆ๊ธฐํ™”
    
    		for (int i : intArray) {
    			System.out.print(i);
            }

    ๊ฒฐ๊ณผ : intArray = {1, 1, 1, 1, 1}

     

     

    ๐Ÿ”น ๋ฐฐ์—ด ๋ณต์‚ฌ

    <๋ณต์‚ฌ์˜ ์ข…๋ฅ˜>
        - ์–•์€ ๋ณต์‚ฌ
        - ๊นŠ์€ ๋ณต์‚ฌ

     

    ์ผ๋ฐ˜์‹์˜ ๊ฒฝ์šฐ ์•„๋ž˜์™€ ๊ฐ™์ด ๋ณต์‚ฌ๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์œผ๋‚˜ ๋ฐฐ์—ด์˜ ๊ฒฝ์šฐ ์ด๋Ÿฐ ๋ฐฉ๋ฒ•์˜ ๋ณต์‚ฌ๋Š” ์œ„ํ—˜ํ•˜๋‹ค.

    int a = 4;
    int b = a;

     

    โ‘  ์–•์€ ๋ณต์‚ฌ
    : ๋ฐฐ์—ด ๋ณ€์ˆ˜๊ฐ’์˜ ๋Œ€์ž…์—ฐ์‚ฐ์ž์— ์ฃผ์†Œ๊ฐ’๋งŒ ๋ณต์‚ฌ๋˜๊ณ  ์‹ค์ œ๊ฐ’์€ ๋‹จ์ผ 1๊ฐœ๋กœ ์œ ์ง€๋˜๋Š”๊ฒƒ์„ ๋งํ•œ๋‹ค.

    โœ” ์ฐธ์กฐํ˜• ๋ณ€์ˆ˜๋Š” ๋ณต์žกํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์‹ค์ œ ๊ฐ’์ด ์•„๋‹ˆ๋ผ ์ฃผ์†Œ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.

     

    ์–•์€ ๋ณต์‚ฌ๋กœ ์ง„ํ–‰ํ•  ๊ฒฝ์šฐ a(value)๊ฐ€ ์•„๋‹Œ a๊ฐ€ ๋“ค์–ด์žˆ๋Š” ๋ฐฐ์—ด์˜ ์ฃผ์†Œ๊ฐ’์ด ๋ณต์‚ฌ๋จ

    ์ฆ‰, arr2[0]์„ ๋ณ€๊ฒฝํ•˜๊ฒŒ ๋˜๋Š” ๊ฒฝ์šฐ ์ฃผ์†Œ๊ฐ’์„ ์ฐธ์กฐํ•˜๊ธฐ ๋•Œ๋ฌธ์—

    ๊ฐ™์€ ์ฃผ์†Œ๊ฐ’์„ ๋ฐ”๋ผ๋ณด๊ฒŒ ๋˜๋ฉฐ, arr1[0]์˜ ๋ฐ์ดํ„ฐ์—๋„ ์˜ํ–ฅ์„ ์ฃผ๊ฒŒ ๋œ๋‹ค.

     

     

     

     

    โ‘ก ๊นŠ์€ ๋ณต์‚ฌ
    : ์‹ค์ œ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ฐฐ์—ด์˜ ๊ธฐ๋ณธํ˜• ๊ฐ’์„ ๊บผ๋‚ด์„œ ๋ณต์‚ฌํ•˜์—ฌ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋˜‘๊ฐ™์ด ์ƒ์„ฑํ•˜๋Š”๊ฒƒ 

    ๊นŠ์€ ๋ณต์‚ฌ์—๋Š” for๋ฌธ or ์—ฌ๋Ÿฌ ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

     

     

    โœ… for๋ฌธ ๋ณต์‚ฌ ์˜ˆ์‹œ

    // ๊นŠ์€ ๋ณต์‚ฌ for๋ฌธ
    
    int[] a = { 1, 2, 3, 4 };
    int[] b = new int[a.length]; 
    
    for (int i = 0; i < a.length; i++) {
        b[i] = a[i]; 
    }
    
    b[0] = 3; // b[0] (1 -> 3)
    
    System.out.println(a[0]); // ์ถœ๋ ฅ 1 
                             // ๋ณต์‚ฌ์— ์‚ฌ์šฉ๋œ a๋ฐฐ์—ด์˜ ๊ฐ’์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€

     

     

    โœ… ๋ฉ”์„œ๋“œ ๋ณต์‚ฌ์˜ˆ์‹œ

    // ๊นŠ์€ ๋ณต์‚ฌ ๋ฉ”์„œ๋“œ
    
    import java.util.Arrays;
    
    public class Main {
    	public static void main(String[] args) {
    		// 2. Arrays.copyOf() ๋ฉ”์„œ๋“œ
    		int[] a = { 1, 2, 3, 4 };
    		int[] b = Arrays.copyOf(a, a.length); // ๋ฐฐ์—ด๊ณผ ํ•จ๊ป˜ length๊ฐ’๋„ ๊ฐ™์ด ๋„ฃ์–ด์ค๋‹ˆ๋‹ค.
    	}
    }
    
    // .clone() ๋ฉ”์„œ๋“œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‚˜, 2์ฐจ์› ์ด์ƒ ๋ฐฐ์—ด์—์„œ๋Š” ์–•์€ ๋ณต์‚ฌ๋กœ ๋™์ž‘ํ•œ๋‹ค

    โญ Arrays.copyOf() : a๋ผ๋Š” ๋ฐฐ์—ด๊ณผ a์˜ ๊ธธ์ด๋ฅผ ๋„ฃ์–ด์ฃผ๋ฉด ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋ฆฌํ„ดํ•ด์คŒ

    ๐Ÿ’ฌ Array.clone() ๋ฉ”์„œ๋“œ๋„ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•˜๋‚˜, 2์ฐจ์› ์ด์ƒ ๋ฐฐ์—ด์—์„œ๋Š” ์–•์€ ๋ณต์‚ฌ๋กœ ๋™์ž‘ํ•˜๋Š”์  ์ฐธ๊ณ 

     

     

    ๐Ÿ”น String ๋ฐฐ์—ด 

    - ์„ ์–ธ, ์ƒ์„ฑ, ์ดˆ๊ธฐํ™”

     

    String ๊ธฐ๋Šฅ ํ™œ์šฉ ์˜ˆ์‹œ

    ๋ฉ”์„œ๋“œ ์‘๋‹ต๊ฐ’ ํƒ€์ž… ์„ค๋ช…
    length() int ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    charAt(int index) char ๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น index์˜ ๋ฌธ์ž๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    substring(int from, int to) String ๋ฌธ์ž์—ด์—์„œ ํ•ด๋‹น ๋ฒ”์œ„(from~to)์— ์žˆ๋Š” ๋ฌธ์ž์—ด์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    (to๋Š” ๋ฒ”์œ„์— ํฌํ•จ๋˜์ง€ ์•Š์Œ)
    equals(String str) boolean ๋ฌธ์ž์—ด์˜ ๋‚ด์šฉ์ด ๊ฐ™์€์ง€ ํ™•์ธํ•œ๋‹ค. ๊ฐ™์œผ๋ฉด ๊ฒฐ๊ณผ๋Š” true, ๋‹ค๋ฅด๋ฉด false๊ฐ€ ๋œ๋‹ค.
    toCharArray() char[] ๋ฌธ์ž์—ด์„ ๋ฌธ์ž๋ฐฐ์—ด(char[])๋กœ ๋ณ€ํ™˜ํ•ด์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    new String(char[] charArr) String ๋ฌธ์ž๋ฐฐ์—ด(char[]) ์„ ๋ฐ›์•„์„œ String์œผ๋กœ ๋ณต์‚ฌํ•ด์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

     

     

    โœ… length(), charAt(), substring(), equals(), toCharArray() 

    String str = "ABCD";
    
    // 1) length
    int strLength = str.length();
    System.out.println(strLength); // 4์ถœ๋ ฅ
    
    // 2) charAt()
    char strChar = str.charAt(1);
    System.out.println(strChar); // "B" ์ถœ๋ ฅ
    
    // 3) subDtring( , )
    String strSub = str.substring(0, 3);
    System.out.println(strSub); // ABC ์ถœ๋ ฅ
    
    // 4) equals (String)
    String newStr = "ABCD";
    boolean strEquals = newStr.equals(str);
    System.out.println(strEquals); // true
    
    // toCharArray()
    char[] strCharArray = str.toCharArray(); // String ์„ char[] ๋กœ ๋ณ€ํ™˜
    
    // ๋ฐ˜๋Œ€๋กœ char[] ๋ฅผ String๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๋ฐฉ๋ฒ•
    char[] charArray = {'A', 'B', 'C'};
    String charArrayString = new String(charArray); // char[] ๋ฅผ String ์œผ๋กœ ๋ณ€ํ™˜

     

     

     

    ๐Ÿ”น ๋‹ค์ฐจ์› ๋ฐฐ์—ด

     

    ํ˜•ํƒœ:
    int[][] array = new int[][];
    int[][][] array = new int[][][];

    ๐Ÿ‘‰๊ธฐ์กด ๋ฐฐ์—ด์— ๋Œ€๊ด„ํ˜ธ๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์ƒ์„ฑํ•จ

     

     

     

    ๐Ÿ”ป 2์ฐจ์› ๋ฐฐ์—ด์˜ ์ดˆ๊ธฐํ™” ๋ฐฉ๋ฒ• 2๊ฐ€์ง€

     

    โœ… 1. ์ค‘๊ด„ํ˜ธ๋ฅผ ์‚ฌ์šฉํ•ด ์ดˆ๊ธฐํ™”

    int[][] array = {
    	{1, 2, 3},
    	{4, 5, 6}
    };

     

    โœ… 2. ๋ฐ˜๋ณต๋ฌธ์„ ํ†ตํ•œ ์ดˆ๊ธฐํ™”

    int[][] array = new int[2][3]; // ์ตœ์ดˆ ์„ ์–ธ
    
    for (int i = 0; i < array.length; i++) {
        for (int j = 0; j < array[i].length; j++) {
            arr[i][j] = 0;  
        }
    }

     

     

     

     

     

     

    ๊ฐ€๋ณ€๋ฐฐ์—ด
    : Java์—์„œ 2์ฐจ์› ๋ฐฐ์—ด์„ ์ƒ์„ฑํ•  ๋•Œ ์—ด์˜ ๊ธธ์ด๋ฅผ ์ƒ๋žตํ•˜์—ฌ, ํ–‰๋งˆ๋‹ค ๋‹ค๋ฅธ ๊ธธ์ด์˜ ๋ฐฐ์—ด์„ ์š”์†Œ๋กœ ์ €์žฅํ•  ์ˆ˜ ์žˆ์Œ

     

    โœ… ๊ฐ€๋ณ€๋ฐฐ์—ด ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™” ์˜ˆ์‹œ

    // ๊ฐ€๋ณ€ ๋ฐฐ์—ด
    
    // ์„ ์–ธ ๋ฐ ์ดˆ๊ธฐํ™”
    int[][] array = new int[3][];
    
    array[0] = new int[2];
    array[1] = new int[4];
    array[2] = new int[1];
    
    //  ์›์†Œ๋ฐฐ์—ด๋“ค์˜ ํฌ๊ธฐ๋ฅผ ๊ฐ๊ธฐ ๋‹ค๋ฅด๊ฒŒ ์ƒ์„ฑ ํ•  ์ˆ˜ ์žˆ๋‹ค.
    int[][] array2 = {
        {10, 20},
        {10, 20, 30, 40},
        {10}
    
    };

     

     

     

    โœ… ๋ฐฐ์—ด์˜ ์ตœ๋Œ€๊ฐ’ ์ถœ๋ ฅ ์˜ˆ์‹œ 

    // ์ตœ๋Œ€๊ฐ’ ๊ตฌํ•˜๊ธฐ
    public static void main(String[] args) {
            
            int[] arr = { 3, 2, 1, 5, 1 };
            int max = arr[0];  // ๋ฐฐ์—ด๊ฐ’์ค‘ ์ž„์˜๋กœ ํ•˜๋‚˜ ์„ ํƒ
    
            for(int num:arr) {  
                if(max<num){  // ์„ค์ •๋œ max๋ณด๋‹ค num์œผ๋กœ ๋“ค์–ด์˜จ ๋ฐฐ์—ด๊ฐ’์ด ๋” ํด๋•Œ
                    max=num;  // max๊ฐ’์„ num์œผ๋กœ ๋ฐ”๊พผ๋‹ค
                }
            }
            System.out.println(max);   // ์ถœ๋ ฅ: 5
        }

     

    728x90
Designed by Tistory.