首頁 >Java >java教程 >如何在 Java 中將 ArrayList 分割為更小的 ArrayList?

如何在 Java 中將 ArrayList 分割為更小的 ArrayList?

DDD
DDD原創
2024-11-15 03:39:02505瀏覽

How to Split an ArrayList into Smaller ArrayLists in Java?

Java 中將ArrayList 拆分為較小的ArrayList

將一個大的ArrayList 拆分為多個較小的ArrayList 在多個各種編程場景中至關重要。要在 Java 中實現此目的,您可以使用 subList(int fromIndex, int toIndex) 方法。

subList 方法

subList 方法使您能夠取得原來的清單。它建立指定範圍的元素的視圖,從 fromIndex 開始一直到但不包括 toIndex。

範例用法

為了進行說明,請考慮以下程式碼:

List<Integer> numbers = new ArrayList<>(Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7));

List<Integer> head = numbers.subList(0, 4);
List<Integer> tail = numbers.subList(4, 8);

System.out.println(head); // prints "[5, 3, 1, 2]"
System.out.println(tail); // prints "[9, 5, 0, 7]"

建立非視圖子清單

如果您要求切碎的清單是非視圖,只需從子清單建立新清單即可。以下是一個範例:

// Chops a list into non-view sublists of length L
static <T> List<List<T>> chopped(List<T> list, final int L) {
    List<List<T>> parts = new ArrayList<>();
    final int N = list.size();
    for (int i = 0; i < N; i += L) {
        parts.add(new ArrayList<>(list.subList(i, Math.min(N, i + L))));
    }
    return parts;
}

List<Integer> numbers = Collections.unmodifiableList(Arrays.asList(5, 3, 1, 2, 9, 5, 0, 7));
List<List<Integer>> parts = chopped(numbers, 3);

System.out.println(parts); // prints "[[5, 3, 1], [2, 9, 5], [0, 7]]"

此方法傳回非視圖子列表的列表,可讓您修改它們而不影響原始列表。

以上是如何在 Java 中將 ArrayList 分割為更小的 ArrayList?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn