Javaで配列をサブ配列に分割する方法には、さまざまなアプローチがあります。以下に、いくつかのシンプルで簡単な方法とコード例を示します。
-
forループを使用した方法:
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int subarraySize = 3; int startIndex = 0; for (int i = 0; i < array.length; i += subarraySize) { int endIndex = Math.min(i + subarraySize, array.length); int[] subarray = Arrays.copyOfRange(array, i, endIndex); // サブ配列の処理 System.out.println(Arrays.toString(subarray)); }
-
ArrayListを使用した方法:
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int subarraySize = 3; ArrayList<int[]> subarrays = new ArrayList<>(); for (int i = 0; i < array.length; i += subarraySize) { int endIndex = Math.min(i + subarraySize, array.length); int[] subarray = Arrays.copyOfRange(array, i, endIndex); subarrays.add(subarray); } // サブ配列の処理 for (int[] subarray : subarrays) { System.out.println(Arrays.toString(subarray)); }
-
Stream APIを使用した方法 (Java 8以降):
int[] array = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int subarraySize = 3; IntStream.range(0, (array.length + subarraySize - 1) / subarraySize) .mapToObj(i -> Arrays.copyOfRange(array, i * subarraySize, Math.min((i + 1) * subarraySize, array.length))) .forEach(subarray -> System.out.println(Arrays.toString(subarray)));
これらの方法を使用すると、Javaで配列をサブ配列に簡単に分割できます。適宜、サブ配列の処理を追加してください。また、サブ配列のサイズや元の配列の要素数によって、コードを調整することができます。