如何循环使用多个字符串数组

时间:2019-07-17 01:04:36

标签: java arrays

我已经从double类型的文本文件中打印了数据,并将其转换为double数组。当我打印数组时,它看起来像这样

[2.0    -2.0    -2.0    -2.0    2.0     2.0    2.0  2.0]    1.39E-04
[-2.0   -2.0    0.0     -2.0    -2.0    0.0   -2.0  2.0]    0.020446
[2.0     0.0    -2.0     2.0    2.0    -2.0   -2.0  -2.0]   0.032339
[2.0     2.0    -2.0    -2.0    2.0     2.0   -2.0  2.0]    0.026673
[-2.0    0.0    -2.0    -2.0    0.0     2.0    0.0  2.0]    0.094135
[0.0     0.0    0.0     -2.0    0.0     2.0    2.0  0.0]    0.045922
[0.0    -2.0    0.0     -2.0    0.0     2.0    0.0  -2.0]   0.117043
[-2.0   -2.0    -2.0     2.0    2.0     2.0    2.0  -2.0]   0.425709
[-2.0   -2.0    -2.0     2.0    2.0     2.0    2.0  2.0]    0.156286

最后一列是根据特定公式计算的每一行的分数。我的问题是如何循环使用此数组?因为我需要对该数组进行一些处理。 抱歉,我需要在循环外部使用具有与上面相同结构但没有括号的数组

我使用的代码是这样的

double []  D =new double [rows]; 
    for (int i = 0; i < cols-1 i++) { 
                List<Double> list=  new ArrayList<Double>();
              for (int j = 0; j < rows; j++) { 
               int A = M[c][r];
               D[c] = A;
              list.add(D[c]); 
            } 
double score= M.calculateDistance(D,class);       
                  System.out.println(list+" "+score);
        }

1 个答案:

答案 0 :(得分:0)

您可以创建另一个列表来保存数组

List<List<Double>> listOfList=  new ArrayList<List<Double>>();

因此您的新代码将如下所示:

double []  D =new double [rows]; 
List<List<Double>> listOfList=  new ArrayList<List<Double>>();
for (int i = 0; i < cols-1 i++) { 
    List<Double> list=  new ArrayList<Double>();
    for (int j = 0; j < rows; j++) { 
        int A = M[c][r];
        D[c] = A;
        list.add(D[c]); 
    } 
    double score= M.calculateDistance(D,class);       
    System.out.println(list+" "+score);
    listOfList.add(list); // add the array
}

但是,如果您还想在循环外使用score并将其与它们的特定数组相关联,我建议您使用Map或创建自己的对象。