컴공생의 다이어리

[자바, Java] 배열 일괄 초기화 - Arrays.fill() 본문

Development/Java

[자바, Java] 배열 일괄 초기화 - Arrays.fill()

컴공 K 2023. 2. 25. 03:00

Java 배열 일괄 초기화 - Arrays.fill()

자바에서 배열의 모든 값을 지정한 값으로 초기화하는 메서드로 Arrays.fill()이 있다. 기존에 아래와 같이 for문을 사용해서 배열의 값을 초기화하지 않고도 간편하게 배열의 값을 초기화할 수 있다.

int arr[] = new int[10];
for (int i = 0; i < arr.length; i++) {
    arr[i] = -1;
}

 

 

 

 

 

1차원 배열 초기화

Arrays.fill(배열 변수, 초기화할 값) 의 인자를 넣어서 초기화하면 된다. 예시는 아래와 같다.

import java.util.Arrays;

public class ArrayFill {
    public static void main(String[] args) {
        int arr[] = new int[10];
        Arrays.fill(arr, -1);
        System.out.println(Arrays.toString(arr)); // [-1, -1, -1, -1, -1, -1, -1, -1, -1, -1]

        boolean check[] = new boolean[5];
        Arrays.fill(check, true);
        System.out.println(Arrays.toString(check)); // [true, true, true, true, true]

        String str[] = new String[5];
        Arrays.fill(str, "abc");
        System.out.println(Arrays.toString(str)); // [abc, abc, abc, abc, abc]
    }
}

 

만일, 배열 전체가 아니라 구간을 지정하여 채우고 싶다면 Arrays.fill(배열 변수, 시작, 끝+1, 초기화할 값) 의 인자를 넣어서 초기화하면 된다. 예시는 아래와 같다.

import java.util.Arrays;

public class ArrayFill {
    public static void main(String[] args) {
        int arr[] = new int[10];
        Arrays.fill(arr, 2, 4, -1); // 2번째 인덱스부터 3번째 인덱스까지 -1로 채움
        System.out.println(Arrays.toString(arr)); // [0, 0, -1, -1, 0, 0, 0, 0, 0, 0]

        boolean check[] = new boolean[5];
        Arrays.fill(check, 3, 5, true); // 3번째 인덱스부터 4번째 인덱스까지 true로 채움
        System.out.println(Arrays.toString(check)); // [false, false, false, true, true]
    }
}

 

 

 

2차원 배열 초기화

2차원 배열을 초기화하고 싶다면 아래와 같이 for문과 Arrays.fill()를 함께 사용하여 초기화할 수 있다.

import java.util.Arrays;

public class ArrayFill {
    public static void main(String[] args) {
        int arr[][] = new int[3][2];
        for (int i = 0; i < 3; i++)
            Arrays.fill(arr[i], 1);

        for (int i = 0; i < 3; i++)
            System.out.println(Arrays.toString(arr[i]));
        /*
            Output:
            [1, 1]
            [1, 1]
            [1, 1]
        */
    }
}

 

 

 

 

 

 

https://www.tutorialspoint.com/java/util/arrays_fill_int.htm

 

Java.util.Arrays.fill(int[], int) Method

Java util Arrays fill(int int) Method - The java.util.Arrays.fill(int[] a, int val) method assigns the specified int value to each element of the specified array of ints.

www.tutorialspoint.com

https://zetawiki.com/wiki/%EC%9E%90%EB%B0%94_Arrays.fill() 

 

자바 Arrays.fill() - 제타위키

다음 문자열 포함...

zetawiki.com

 

728x90
Comments