在Java中使用Double的单个数组维

时间:2012-09-24 19:24:54

标签: java arrays

我一直在尝试使用以下代码声明一维单个数组:

double[] temporary= {0.7143, 0.5392, 0.5444, 0.5321, 0.5417, 0.5528, 0.5327, 0.5267, 0.5271};

并且代码运行完美但每次我尝试声明为动态值时都会出现问题。也许我不知道如何正确地宣布它。

这是我最近一直在尝试的:

double temporary[];
temporary = new double[1000];

我尝试使用固定大小的以下代码:

for (int i = 0; i < window.length; i++)
            {
                window[i] = temporary[j + i - windowSize];
            } 

这是数组列表:

for (int i = 0; i < window.length; i++)
            {
                window[i] = temporary.get(j+i-windowSize);
            }

我只想声明空的double数组并动态填充它,如上所述。

非常感谢

6 个答案:

答案 0 :(得分:1)

您需要使用ArrayList。

ArrayList<Double> temporary = new ArrayList<Double>();
temporary.add(0.46567);
...

问题是Java中的普通数组(例如double[])具有固定大小。您只能设置一次数组的大小,使用ArrayList时,您可以随时添加和删除元素。

答案 1 :(得分:0)

如果你提前知道内容的长度,那就像是;

temporary = new double[sizeofContent];

如果您不提前知道内容长度,那么您可能需要使用类似list的内容(这是一种动态的),然后使用{{1}将其转换为array }}

答案 2 :(得分:0)

您可以使用ArrayList:

List<Double> temporary = new ArrayList<Double>();
temporary.add(0.5588);

答案 3 :(得分:0)

double [] temporary = new double [1000];

初始化使用

临时[0] = 2.456d;

希望它有所帮助: - )

答案 4 :(得分:0)

如果您不需要随机访问,则首选LinkedList而不是ArrayList。实际上,只要这个数组增长,它就会避免多次调整数组大小(达到容量时):

List<Double> temporary = new LinkedList<Double>();
temporary.add(0.46567);
//...

答案 5 :(得分:-1)

使用像ArrayList

这样的集合对象
List<Double> doubles = new ArrayList<Double>();
doubles.add(...);
doubles.add(...);
...
Double[] temp = doubles.toArray(new Double[0]);