动态填充多维数组

Filling multidimensional Array Dynamic

我想创建一个具有类似结构的数组

double[][] x1 = {{3.17, 26.348}, {3.65, 24.198}, {3.28, 25.085}, {3.37, 22.461},
        {2.57, 23.740}, {3.60, 24.786}, {3.50, 23.374}, {2.98, 23.725},
        {2.54, 23.227}, {3.41, 26.920}};

我的问题是我不知道数组有多大(有多少值对)。所以我需要动态填充它。我想用存储值的两个数组列表创建数组

类似这样,但对于不同尺寸是动态的

 double[][] xtest = { {  ACDregList.get(0),  ALregList.get(0) },
            { ACDregList.get(1),  ALregList.get(1) },
            {  ACDregList.get(2),  ALregList.get(2) },
            {  ACDregList.get(3), ALregList.get(3) },
            {  ACDregList.get(4),  ALregList.get(4) },
            {  ACDregList.get(5),  ALregList.get(5) },
            {  ACDregList.get(6),  ALregList.get(6) },
            {  ACDregList.get(7),  ALregList.get(7) },
            {  ACDregList.get(8),  ALregList.get(8) },
            {  ACDregList.get(9),  ALregList.get(9) }};

也许你们中的一些人可以帮助我。

谢谢!

我已经尝试使用两个 for 循环,但它没有按照我预期的方式填充数组。

在Java中,数组大小是固定的,如果键值是唯一的或者使用ArrayList

,您可以使用Map而不是二维数组

我同意评论,使用 ArrayList 或 List 接口:List<List<Double>> doublesList = new ArrayList<>(); 这可以动态增长。这里有几个例子:

// A List of Lists. Both can grow dynamically.
List<List<Double>> doublesList = new ArrayList<>();
List<Double> dList = Arrays.asList(3.17, 26.348);
doublesList.add(dList);
    
dList = Arrays.asList(3.65, 24.198, 44.657);
doublesList.add(dList);
    
// and so on...

//Display the list contents
for (List<Double> dl : doublesList) {
    System.out.println(dl);
}
    

或者你可以这样做:

// A List of double[] arrays. The list can grow Dynamically but
// the double[] arrays within each List element are fixed length.
List<double[]> dpList = new ArrayList<>();
double[] dbl = {3.17, 26.348};
dpList.add(dbl);
    
dbl = new double[] {3.65, 24.198, 44.657};
dpList.add(dbl);
    
System.out.println();

//Display the list contents
for (double[] dl : dpList) {
    System.out.println(Arrays.toString(dl));
}