gpt4 book ai didi

java - 根据用户输入将 ArrayList 拆分为多个 ArrayList

转载 作者:行者123 更新时间:2023-11-29 05:26:55 25 4
gpt4 key购买 nike

我有这个程序:

public static void main(String[] args){
System.out.println("Enter number of nodes");
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
for(int i=0;i<=n;i++)
{
nodes.add(i);
}

System.out.println(nodes);
System.out.println("How many subnetworks you want? Enter Small(10), Med(30), Large(50)");
small = sc.nextInt();
med = sc.nextInt();
large = sc.nextInt();
System.out.println("Small = " + small + "med" + med + "large" + large);

现在根据小、中和大的值并考虑每个整数的倍数,我想将 ArrayList 拆分为不同的数组列表或数组。例如,small = 100,med = 50,large = 10 应该将主数组列表拆分为 100 个大小为 10 的小数组列表、50 个大小为 30 的中数组列表和 10 个大小为 50 的大数组列表。 拆分后,我想为 sublsits 中的元素分配一些属性。而且我不确定它应该是 arraylist 还是 array 或其他任何东西。

最佳答案

您可以使用拆分列表功能。

private static List<List<Integer>> splitAndReturn(List<Integer> numbers,
int size) {
List<List<Integer>> smallList = new ArrayList<List<Integer>>();
int i = 0;
while (i + size < numbers.size()) {
smallList.add(numbers.subList(i, i + size));
i = i + size;
}
smallList.add(numbers.subList(i, numbers.size()));
return smallList;
}

该函数将返回一个数组列表,每个原始数组的大小为 size。所以如果你需要 100 个大小为 10 的数组,那么

splitAndReturn(yourList, 10).subList(0, 100);

将为您提供数组列表。

关于java - 根据用户输入将 ArrayList 拆分为多个 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22368963/

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