gpt4 book ai didi

java - 如果数组大小先验未知,如何填充数组

转载 作者:行者123 更新时间:2023-12-01 17:33:27 25 4
gpt4 key购买 nike

如何避免java.lang.ArrayIndexOutOfBoundsException如果 indexes 的大小先验未知吗?

Integer[] indexes = new Integer[]{};
int num = 0;
for (ArrayList<Integer[]> arr: list) {
for (int i=0; i<arr.length; i++) {
indexes[num] = arr[i];
num++;
}
}

目标是得到一个一维数组Integer[] indexes来自二维数组 ArrayList<Integer[]> list .

更新:

例如:

list[0] = {1,2,3}list[1] = {4}

我需要得到:

indexes = {1,2,3,4}

最佳答案

使用新的ArrayList (newList.add(arr[i])),然后调用toArray():

Integer[] indexes = newList.toArray(new Integer[newList.size()]);

一个不太有效的解决方案,不使用中间列表 - 您可以循环整个结构一次只是为了计算元素。然后用预先计算的大小实例化数组。

关于java - 如果数组大小先验未知,如何填充数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8734129/

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