在java中将ArrayList转换为Double Array

时间:2017-11-16 07:45:04

标签: java arrays arraylist type-conversion

如何在Java6中将["campaign 1" => 255, "campaign 2" => 386, "campaign 3" => 736] 转换为Double数组?

ArrayList

如何将上面的列表转换为数组?

3 个答案:

答案 0 :(得分:2)

您可以直接将List转换为包装类的Array。 请尝试以下方法:

List<Double> lst = new ArrayList<>();
Double[] dblArray = new Double[lst.size()];
lst.add(343.34);
lst.add(432.34);
dblArray = lst.toArray(dblArray);

答案 1 :(得分:0)

List<Number> lst = new ArrayList<>();
Collections.addAll(lst, 3.14, -42);
double[] dbl = lst.stream()
    .map(Number::cast) // Or possibly Double::cast when List lst.
    .mapToDouble(Number::doubleValue)
    .toArray();

List<Double> lst = new ArrayList<>();
Collections.addAll(lst, 3.14, -42.0);
double[] dbl = lst.stream()
    .mapToDouble(Double::doubleValue)
    .toArray();

mapToDouble将保持Stream的对象转换为原始双打的DoubleStream

答案 2 :(得分:-1)

通过这个,您将列出并添加您喜欢的内容。然后使阵列大小相同,并从前到后填充。

public static void main(String[] args){
        List lst = new ArrayList();
        lst.add(343.34);
        lst.add(432.34);
        System.out.println("LST " + lst);

        double[] dbl= new double[lst.size()];
        int iter = 0;
        for (Object d: lst
             ) {
            double e = (double) d;
            dbl[iter++] = e;
        }
        System.out.println("DBL " + Arrays.toString(dbl));
    }

结果:LST [343.34,432.34] DBL [343.34,432.34]