Java 提供多种数组分割方法:Array.copyOfRange 创建指定范围的新数组。Arrays.split 根据分隔符元素分割数组。Java 8 Streams 可按条件分组分割数组。
Java 数组分割
问题:如何将一个 Java 数组分割为多个子数组?
回答:
Java 提供了多种方法来将数组分割为子数组。以下是最常用的方法:
Array.copyOfRange(int[] array, int start, int end)
start 到指定结束索引(不包括)end 之间的元素。例如:
int[] arr = {1, 2, 3, 4, 5};
int[] subArr = Arrays.copyOfRange(arr, 2, 4); // [3, 4]Arrays.split(int[] array, int delimiter)
例如:
int[] arr = {1, 2, 3, 4, 5, -1, 6, 7};
int[] subArrs = Arrays.split(arr, -1); // [[1, 2, 3, 4, 5], [6, 7]]Jav
a 8 Streams
Stream 分割数组:例如:
int[] arr = {1, 2, 3, 4, 5};
List subArrs = Arrays.stream(arr)
.collect(Collectors.groupingBy(n -> n % 2 == 0 ? "Even" : "Odd"))
.values()
.stream()
.map(list -> list.stream().mapToInt(n -> n).toArray())
.collect(Collectors.toList()); 以上方法可根据实际需求来选择。