如何打印ArrayLists的ArrayList,以便每个内部列表打印在一行?

时间:2012-04-16 14:41:12

标签: java arraylist tostring pretty-print

我有一个ArrayLists的ArrayList - 类似于ArrayList<ArrayList<Node>>。 由于我将此作为函数的返回值,因此在每次调用后都会调用不同的大小。我想知道如何显示它的元素是这样的方式,内部ArrayList构成一行,因此对于每一行。

for循环的必需参数是什么?提前谢谢。

3 个答案:

答案 0 :(得分:12)

for (List<Node> l1 : arrayLists) {
   for (Node n : l1) {
       System.out.print(n + " "); 
   }

   System.out.println();
} 

答案 1 :(得分:2)

这是一个基本样本:

public static void main(String[] args) {
    List<List<String>> ls;
    //initialize ls and set values in it...
    //after set some values, let's print it
    for(List<String> innerLs : ls) {
        String[] arr = innerLs.toArray();
        System.out.println(Arrays.deepToString(arr));
    }
}

List<List<T>>应该是相同的逻辑。

答案 2 :(得分:0)

调用iterator(),它将返回Iterator<ArrayList<Node>>,并在其上循环。

在循环内部再次调用iterator(),在每个迭代元素上返回Iterator<Node>;使用内部循环并使用next()来显示。

对于循环,使用'foreach'循环(for(Node n : iterator))或while循环(while(iterator.hasNext()))。