JavaLog

プログラミング初心者向けの小ネタ集

【Java8】配列の値をコピー

1次元配列

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        
        //1次元配列
        int[] array1 = new int[10];
        for(int i=0; i<10; i++) {
            array1[i] = i;
        }
        
        int[] array2 = array1.clone();
        array2[0] = 20;
        
        System.out.println(Arrays.toString(array1));
        System.out.println(Arrays.toString(array2));
    }
}
実行結果

[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[20, 1, 2, 3, 4, 5, 6, 7, 8, 9]

2次元配列

import java.util.Arrays;

public class Main {
    public static void main(String[] args) {
        
        final int N = 2, M = 5;
        
        //2次元配列
        int[][] array1 = new int[N][M];
        for(int i=0; i<N; i++) {
            for(int j=0; j<M; j++) {
                array1[i][j] = i+j;
            }
        }
        
        int[][] array2 = new int[N][M];
        for(int i=0; i<N; i++) {
            array2[i] = array1[i].clone();
        }
        array2[0][0] = 20;
        
        System.out.println(Arrays.deepToString(array1));
        System.out.println(Arrays.deepToString(array2));
    }
}
実行結果

[[0, 1, 2, 3, 4], [1, 2, 3, 4, 5]]
[[20, 1, 2, 3, 4], [1, 2, 3, 4, 5]]