首页  >  文章  >  Java  >  如何在 Java 中将 ArrayList 拆分为更小的 ArrayList?

如何在 Java 中将 ArrayList 拆分为更小的 ArrayList?

DDD
DDD原创
2024-11-15 03:39:02401浏览

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