java中的2D ArrayList

arn*_*eki 1 java arrays arraylist

我有一个2D ArrayList,我想从2D ArrayList中的那些中获取一个特定的ArrayList.

这可能吗?如果是,我该怎么做?2D arrayList究竟是如何工作的,我已经阅读了很多关于它的内容,但我仍然无法理解.我的2D ArrayList有这样的形式:

ArrayList<ArrayList<Items>> arrayList = new ArrayList<ArrayList<Items>>();

for (int i = 0; i < 10; i++) {
    ArrayList<Items> row = new ArrayList<Items>();

    for (int j = 0; j < 500; j++)
    {
        // create the items...
    }
}
Run Code Online (Sandbox Code Playgroud)

Jes*_*fon 7

是的,这是可能的.

由于您有一个ArrayList< ArrayList<Items> >调用时arrayList.get()将返回一个ArrayList.然后你可以继续做任何你需要的事情.

例如:

for(int i = 0; i < arrayList.length(); i++){
   ArrayList<Items> innerList = arrayList.get(i);
   for(int j =0; j < 10; j++){
       innerList.add(new Items());
   }
 }
Run Code Online (Sandbox Code Playgroud)

这将采用您在上面制作的十个ArrayLists,并用十个项目填充它们.


Ric*_*III 5

从顶部开始:

Is this possible?

是的,实际上非常简单:

ArrayList innerList = arrayList.get(listIndex);
Run Code Online (Sandbox Code Playgroud)

How does the 2D ArrayList work?

基本上,它充当数组数组,因此当您访问2D列表的一个元素时,返回一个ArrayList,您必须进一步调用get()它以获取所需的元素.

例:

ArrayList innerList = (ArrayList) arrayList.get(listIndex); // returns an arraylist
Item item = (Item) innerList.get(innerListIndex); // returns your item
Run Code Online (Sandbox Code Playgroud)