java - java中的动态数组

标签 java arrays

我想做的是

...
int sum[];
...
for(int z.....){
   ...
   sum[z] = some_random_value;
   ...
}

但是它在 sum[z]=ran; 行给出了一个错误,变量 sum 可能还没有被初始化。

我试过 int sum[] = 0; 而不是 int sum[]; 但即使这样也出错了。 (我基本上是一个C程序员)

最佳答案

动态大小的数组在 Java 中是不可能的 - 您必须在声明它之前知道大小,或者对数组执行调整大小操作(这可能很痛苦)。

相反,使用 ArrayList<Integer> , 如果你需要它作为一个数组,你可以把它转换回来。

List<Integer> sum = new ArrayList<>();
for(int i = 0; i < upperBound; i++) {
    sum.add(i);
}
// necessary to convert back to Integer[]
Integer[] sumArray = sum.toArray(new Integer[0]); 

关于java - java中的动态数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21643081/

相关文章:

c - 字符串数组的文件输出

java - J2EE 中的应用程序管理事务

java - 正则表达式、java char + 空格和 char + 符号

java - XSD - 如何从 JAXB 处理中删除一些生成的多余类?

javascript - 两个对象数组,需要根据另一个对一个数组进行排序

arrays - 你能预先分配一个随机大小的数组吗?

javascript - 如何在onClick事件之前调用action方法

java - 静态数据的短期与长期

iphone - 将返回的数据传递到数组,iOS

c++ - 嵌套循环 : permuting an n-dimensional array represented by a vector