我一直在尝试使用以下代码声明一维单个数组:
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数组并动态填充它,如上所述。
非常感谢
答案 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]);