我有一个像这样的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)
看起来很简单但无法弄明白: - !
你需要两个循环 - 一个穿过内部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)
| 归档时间: |
|
| 查看次数: |
8264 次 |
| 最近记录: |