【问题标题】:Java: ArrayLists of ArrayListJava:ArrayList 的 ArrayLists
【发布时间】:2015-10-12 13:27:20
【问题描述】:

我有数组数组,如何打印该数组中的所有值?

 ArrayList<ArrayList<String>> alltransactions = new ArrayList<ArrayList<String>>();
 alltransactions.add(Transaction);

【问题讨论】:

  • 你试过System.out.println(alltransactions)吗?它不按你喜欢的方式工作吗?那你想怎么打印呢?
  • 试一试。实现起来非常简单。
  • 使用内部for循环并遍历所有List alltransactions
  • ArrayList 与数组不同。

标签: java arrays loops


【解决方案1】:

也许这可以帮助你。 使用Arrays.deepToString()在数组中打印数组的简单方法。

ArrayList <ArrayList> outer = new ArrayList<ArrayList>();
ArrayList <Integer> inner1 = new ArrayList<Integer>();
ArrayList <Integer> inner2 = new ArrayList<Integer>();

for (int i = 0; i < 10; i++) {
    inner1.add(i);
    inner2.add(i + 10);
}

outer.add(inner1); 
outer.add(inner2);
System.out.println(Arrays.deepToString(outer.toArray()));

输出:

[[0,1,2,3,4,5,6,7,8,9],[10,11,12,13,14,15,16,17,18,19]]

【讨论】:

  • 谢谢,不知道这个方法!
  • 类似地你使用 Arrays.deepEquals(args, args) 来比较包含数组的数组
【解决方案2】:
List<String> list1 = new ArrayList<>();
List< List<String> > list_all = new ArrayList<>();
list_all.add(list1);
for(List<String> list : list_all){
  for(String s : list){
   System.out.println(s);
  }
}

为什么我使用 List 而不是 ArrayList?代码到接口,而不是实现。

【讨论】:

    【解决方案3】:

    您可以在 2 个级别进行迭代并打印列表的内容如下:

    List<String> Transaction = new ArrayList<String>();
    List<ArrayList<String>> alltransactions = new ArrayList<ArrayList<String>>();
    alltransactions.add(Transaction);
    for (ArrayList<String> ar : alltransactions)
    {
        for(String str : ar)
        {
            System.out.println(str);
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-31
      • 2018-04-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多