首頁 > Java > java教程 > 主體

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

Mary-Kate Olsen
發布: 2024-11-15 05:42:02
原創
354 人瀏覽過

How to Split an ArrayList into Smaller Sublists in Java?

Splitting ArrayLists into Smaller Sublists

In Java, the ArrayList data structure provides a convenient way to store collections of objects efficiently. Sometimes, it becomes necessary to partition an ArrayList into multiple smaller sublists of a specified size. This article explores how to achieve this effectively.

Using subList() for Immutable Views

The subList() method allows you to create views of a portion of an ArrayList. The resulting sublists are immutable, meaning they cannot be modified.

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);
登入後複製

After creating the sublists, any changes made to the original ArrayList will be reflected in the sublists. Conversely, modifications to the sublists will not affect the original ArrayList.

Creating Mutable Sublists

If you require mutable sublists, create new ArrayLists from the subList() views.

List<Integer> newHead = new ArrayList<>(head);
登入後複製

Chopped Function for Convenient Partitioning

For situations where multiple sublists are needed, consider creating a utility function like the following:

static <T> List<List<T>> chopped(List<T> list, final int L) {
    List<List<T>> parts = new ArrayList<>();
    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;
}
登入後複製

This function takes an ArrayList and a desired sublist length as parameters and returns a list of sublists.

Example Usage

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]]"
登入後複製

Conclusion

By leveraging the subList() method and the utility function discussed in this article, you can effectively split an ArrayList into multiple smaller sublists, tailoring to your specific programming needs.

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

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板