【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]]