gpt4 book ai didi

java - 修复了 SubList 计数但 Java 中的动态成员

转载 作者:行者123 更新时间:2023-12-03 21:00:41 26 4
gpt4 key购买 nike

我有以下整数列表

List<Integer> arrayList = new ArrayList<Integer>();
for (int i = 0; i < 7; i++) {
arrayList.add(i);
}

所以列表是这样的 [0,1,2,3,4,5,6]。我的场景是

如果我将 value = 5 作为参数,那么我想像这样拆分 5 个子列表

[0,5], [1,6] , [2], [3], [4]

如果我给 value = 4 作为参数,那么我想像这样拆分 4 个子列表

[0,4], [1,5], [2,6] , [3]

如果我将 value = 3 作为参数,那么我想像这样拆分 3 个子列表

[0,3,6], [1,4], [2,5]

我已经用下面的功能进行了测试,但这不是我需要的。

public List<List<Integer>> chopped(List<Integer> list, final int splitCount) {
List<List<Integer>> parts = new ArrayList<List<Integer>>();
final int N = list.size();
for (int i = 0; i < N; i += splitCount) {
parts.add(new ArrayList<Notification>(list.subList(i, Math.min(N, i + splitCount))));
}
return parts;
}

在上面的函数中,我将 splitCount 赋给 5 然后函数返回

[0,1,2,3,4], [5,6]

我期望的结果是 [0,5], [1,6] , [2], [3], [4]

最佳答案

怎么样:

public List<List<Integer>> chopped(List<Integer> list, final int splitCount) {
List<List<Integer>> parts = new ArrayList<>(splitCount);
for (int i = 0; i < splitCount; ++i) {
parts.add(new ArrayList<>());
}
final int N = list.size();
for (int i = 0; i < N; ++i) {
parts.get(i % splitCount).add(list.get(i));
}
return parts;
}

关于java - 修复了 SubList 计数但 Java 中的动态成员,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45792207/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com