Java 将arraylist转换为array
我有一个Arraylist,我想把它转换成一个数组。我用的是:Java 将arraylist转换为array,java,arrays,arraylist,Java,Arrays,Arraylist,我有一个Arraylist,我想把它转换成一个数组。我用的是: double[] array = new double[list.size()]; double [] array = list.toArray(new double[list.size()]); 但是,它不起作用。你知道我怎么修吗?提前谢谢。 它似乎返回了一个对象 应该是: Double[] array = new Double[list.size()]; list.toArray(array); // fill the arr
double[] array = new double[list.size()];
double [] array = list.toArray(new double[list.size()]);
但是,它不起作用。你知道我怎么修吗?提前谢谢。
它似乎返回了一个对象 应该是:
Double[] array = new Double[list.size()];
list.toArray(array); // fill the array
如果需要一个基元数组,请迭代数组中的每个元素:
double[] array = new double[list.size()];
for(int i = 0; i < list.size(); i++) array[i] = list.get(i).doubleValue();
double[]数组=新的double[list.size()];
对于(inti=0;i
要将列表
转换为双[]
,或任何需要原语类型的地方,除了执行传统的For
循环(或调用第三方库方法执行传统的For
循环,如番石榴),别无选择
这将获得装箱的
Double
s数组,这可能满足您的需要。列表不能包含基元类型。假设它包含Double
的实例,唯一的方法是迭代列表并取消对每个元素的装箱(希望列表中没有空值):
请阅读java文档:
HTH.使用对象双精度而不是原语双精度:
ArrayList<Double> list = new ArrayList<Double>();
...add data
Double[] array=list.toArray(new Double[list.size()]);
ArrayList list=new ArrayList();
…添加数据
Double[]数组=list.toArray(新的Double[list.size()]);
我认为这应该起作用。你的清单在哪里?您知道集合只能包含原语的包装器吗?您尝试过这个吗?泛型的工作方式不是这样的。@LouisWasserman你是对的,我错过了:)。。更新了我的答案。我怀疑提问者的目标是什么。。他们可能想对那些双元组执行操作。这个答案不起作用。这和你的一样。请确保你的答案在你发布之前有效。
Double[] array = list.toArray(new Double[list.size()]);
double[] array = new double[list.size()];
int i = 0;
for (Double d : list) {
array[i] = d;
i++;
}
ArrayList<Double> list = new ArrayList<Double>();
...add data
Double[] array=list.toArray(new Double[list.size()]);
StringBuffer strBuffer = new StringBuffer();
for(Object o:list){
strBuffer.append(o);
}
double []x = new double[]{strBuffer.toString()};