【问题标题】:ArrayList of ArraylitsArrayList 的 ArrayList
【发布时间】:2016-04-27 03:26:49
【问题描述】:

我必须为一个项目使用 10 个数组列表,而不是创建 10 个单独的数组列表。我被告知使用:ArrayList<ArrayList<Integer>> lists = new ArrayList<>(); 并创建 10 个要使用的数组:for(int i=0;i<10;i++){ lists.add(new ArrayList<Integer> ());

我从未研究过数组列表中的数组列表,所以这对我来说很新。如何访问数组内部的数组?他们没有我可以看到访问的名称,那么如何调用每个单独的数组列表?

【问题讨论】:

  • 如何获取列表中的任何元素?
  • 我只需要知道如何访问为项目创建的每个单独的数组列表,我什至不知道如何调用内部数组列表之一。我知道如何使用数组列表和方法,只是不明白如何在更大的数组列表中访问它们
  • 简单地认为你有一个对象列表。这些对象中的每一个都恰好是另一个列表。如果您知道如何使用一个列表,那么使用内部列表应该很容易

标签: java arraylist


【解决方案1】:

您可以创建数组列表的数组列表,如下面的代码所示。如果要访问所有内部数组列表,只需使用 for each 循环。如果你想要一个特定的列表(数组列表是有序的),只需使用索引(两种方式都显示在下面的示例中):

ArrayList<ArrayList<String>> listOfLists = new ArrayList<ArrayList<String>>();
ArrayList<String> firstList = new ArrayList<String>() {{
    add("A");
    add("B");
    add("C");
}};

ArrayList<String> secondList = new ArrayList<String>() {{
    add("D");
    add("E");
    add("F");
}};


listOfLists.add(firstList);
listOfLists.add(secondList);

//access all inner lists
for(ArrayList<String> innerList:listOfLists) {
    System.out.println("INNER LIST --> "+innerList);
}

//access specific list
System.out.println(listOfLists.get(1));

【讨论】:

    【解决方案2】:

    要在列表列表中添加一个数字,你必须使用它的索引get它,然后你可以add它。

    lists.get(0).add(42);
    

    【讨论】:

      【解决方案3】:

      假设你想访问 ArrayList 的 ArrayList 中某个特定 ArrayList 的索引

      例如

      arrayListOfarrayList.get(indexOfArrayList).get(indexOfElement);
      

      如果你想添加一些东西

      arrayListOfarrayList.get(indexOfArrayList).add(yourElement);
      

      您可以参考 ArrayList API 文档了解更多详情 https://docs.oracle.com/javase/7/docs/api/java/util/ArrayList.html

      【讨论】:

      • 应该是arrayListOfarrayList.get(indexOfArrayList).add(element);
      猜你喜欢
      • 2013-05-15
      • 2015-08-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-12
      • 2014-11-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多