【问题标题】:How to print an ArrayList of ArrayLists so that each inner list is printed on one row?如何打印 ArrayLists 的 ArrayList 以便每个内部列表打印在一行上?
【发布时间】:2012-04-16 14:41:12
【问题描述】:

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

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

【问题讨论】:

    标签: java arraylist tostring pretty-print


    【解决方案1】:
    for (List<Node> l1 : arrayLists) {
       for (Node n : l1) {
           System.out.print(n + " "); 
       }
    
       System.out.println();
    } 
    

    【讨论】:

      【解决方案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&lt;List&lt;T&gt;&gt; 的逻辑应该相同。

      【讨论】:

        【解决方案3】:

        调用iterator(),它将返回一个Iterator&lt;ArrayList&lt;Node&gt;&gt;,然后循环。

        在循环内再次调用iterator(),在每个迭代的元素上,这将返回一个Iterator&lt;Node&gt;;使用内部循环并在其上使用next() 进行显示。

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

        【讨论】:

          猜你喜欢
          • 2022-12-18
          • 1970-01-01
          • 2021-08-16
          • 1970-01-01
          • 1970-01-01
          • 2021-12-05
          • 1970-01-01
          • 1970-01-01
          • 2022-11-01
          相关资源
          最近更新 更多