将值添加到数组列表

时间:2017-05-26 22:21:09

标签: java list

所以我打算给一个arraylist(PolyArr)添加5个随机数。我只是Java的初学者,不熟悉语法。你能告诉我如何正确格式化我的最后一行吗?

'package ga1;
import java.util.*;
import java.lang.Math;
public class GA1 {
    static int k=5;
    public static void main(String[] args) {
        double a;
        List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
        for (int i=0; i<k; i++){
            a = Math.random() * 50;
            //PolyArr.add(new Double() {a});
        }
    }
}'

3 个答案:

答案 0 :(得分:0)

您是否正在尝试使用5随机创建大小为5的数组?用这个:

    List<Double> polyArr= new ArrayList<>(k);//Creating the arraylist
    for (int i=0; i<k; i++){
        double a = Math.random() * 50; // random
        polyArr.add(a);
    }

注意:不要在java中使用大写的属性,仅用于类名和静态字段

通过做一个新的Double [] {a},你创建了一个大小为1的doulbes数组,里面随机有1个

答案 1 :(得分:0)

您需要先创建数组并添加到该数组,然后才能添加列表中的数组。但你真的需要阵列吗?你不能直接将双重添加到列表中吗?

       import java.util.*;
        import java.lang.Math;
        public class GA1 {
            static int k=5;
            public static void main(String[] args) {
                double a;
                List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
                Double[] randNums = new Double[k]; //create the double array first based on k
                for (int i=0; i<k; i++){
                    randNums[i] = Math.random() * 50;    // add to array               
                }
               PolyArr.add(randNums); // then add to the list
            }
}

答案 2 :(得分:0)

PolyArr.add(new Double() {a});

问题是你无法从最终类创建子类。这就是你在上面尝试做的事情。如果您在IDE中尝试过此操作,您可能会注意到:

An anonymous class cannot subclass the final class Double

我不知道这个目的是什么..可能是你正在解决的问题。无论如何,你了解发生的事情是件好事,你也可以这样做:

double a[] = new double[k];
List<Double> PolyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
    a[i] = Math.random() * 50;
    PolyArr.add(new Double(a[i]));
}

for(double i : PolyArr){
    System.out.println(i);
}

你也可以尝试这样:

double a;
List<Double[]> PolyArr= new ArrayList<>(k);//Creating the arraylist
for (int i=0; i<k; i++){
    a = Math.random() * 50;

    Double he[] = {a};
    PolyArr.add(he);
}

for(Double[] i : PolyArr){
    for(Double y : i)
        System.out.println(y);
}

这可能不是您正在寻找的。但是,请尝试每一个答案。

请阅读以下内容:final classListArrayList Of Arrays