배열 초기화는 Arrays.fill 함수를 쓰자

보통 배열을 초기화 할때, for 구문을 2중 3중으로 돌려서 초기화 한다. Java에서는 C언어의 memset와 같이 어떤 배열을 한번에 초기화 하는 함수를 제공한다.

int memo[][] = new int[101][101];

for (int i = 0; i < memo.length; i++) {
    Arrays.fill(this.memo[i], -1);  // 2중 for문이 아니라 1중 for로 초기화 가능
}

주의점: Arrays.fill은 배열의 하나의 depth만 일괄 초기화가 가능하다. 따라서 위 예제와 같이 2차원 배열일때, 2차원을 한번에 초기화는 불가능하다. 그렇더라도, 2중 for문에 비하면 성능이 좋고, 1차원 배열의 경우 한번에 초기화 해주고 있다.

results matching ""

    No results matching ""