如何将 Java 数组按照指定元素拆分成多个子数组?

java 数组拆分

本文探讨了如何将一个 java 数组拆分成多个新数组,每个子数组以指定的元素为开始。

示例:

给定数组[85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20, 85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99, 85, 12, 85, -86, 13, 2, 99],按照元素 85 拆分成多个新数组:

**输出:**

[85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20]
[85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99]
[85, 12]
[85, -86, 13, 2, 99]

解决方案:

public void ArrFun1() {
    int[] arr = {85, -86, 13, 2, 99, 99, 99, 99, 98, 98, 99, 99, 99, 99, 20, 85, -86, 13, 2, 99, 99, 99, 99, 99, 99, 99, 85, 12, 85, -86, 13, 2, 99};
    List> list = new ArrayList<>();
    List

temp = new ArrayList<>(); for (int i = 0; i < arr.length; i++) { if (arr[i] == 85) { if (temp.size() > 0) { list.add(new ArrayList<>(temp)); temp.clear(); } temp.add(arr[i]); } else { temp.add(arr[i]); } } list.add(temp); System.out.println("================"); for (List item : list) { System.out.println(Arrays.toString(item.toArray())); } }

在给定的示例中,我们将数组 arr 拆分为包含元素 85 的多个子列表。这些子列表随后转换为数组并打印。