Java:将ArrayList元素显示为2d ArrayList中的列

Sup*_*tar 2 java arraylist

我有一个像这样的ArrayList:

ArrayList<ArrayList<Double>> someArray = new ArrayList<ArrayList<Double>>();
Run Code Online (Sandbox Code Playgroud)

它的值如下:

[1,3,2,1,3,4,5,5],[7,2,1,3,4,5,4,2,4,3],....
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像这样:

1 7 . . .
3 2 
2 1
1 3
.
.
.
Run Code Online (Sandbox Code Playgroud)

即,ArrayList中的每个列表都应显示为一列.我尝试了各种方法,但代码在行中显示它们..

for(int i=0;i<someArray.size();i++){
    System.out.println(someArray.get(i));
}
Run Code Online (Sandbox Code Playgroud)

看起来很简单但无法弄明白: - !

ggm*_*hur 8

你需要两个循环 - 一个穿过内部ArrayList,一个穿过外部.你也不知道最大的列表有多长(除非你假设它们的大小都相同).

您必须逐行打印,因此您需要迭代给定索引处的所有列表并将它们打印在同一行上.

int maxSize = 0;
for (ArrayList<Double> innerList : someArray) {
    if (maxSize < innerList.size()) {
        maxSize = innerList.size();
    }
}

for (int i = 0; i < maxSize; i++) {
    for (ArrayList<Double> innerList : someArray) {
        //You don't need this if all lists are the same length.
        if (i > innerList.size() - 1) { 
            System.out.print("x ");
        } else {
            System.out.print(innerList.get(i) + " ");
        }
    }
    System.out.println(); //new line for the next row
}
Run Code Online (Sandbox Code Playgroud)