Начиная сверху:
Is this possible?
Да, довольно просто на самом деле:
ArrayList innerList = arrayList.get(listIndex);
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