Możesz utworzyć n-wymiarową ArrayList, podobnie jak n-dimensionaly Array, umieszczając ArrayLists w ArrayLists.
Oto przykład z 3 wymiarami pokazującymi koncepcję.
public static void main(String args[]){
ArrayList<ArrayList<ArrayList<Integer>>> listOfListOfList = new ArrayList<ArrayList<ArrayList<Integer>>>();
int firstDimensionSize = 3;
int secondDimensionSize = 4;
int thirdDimensionSize = 5;
for (int i = 0; i < firstDimensionSize; i++) {
listOfListOfList.add(new ArrayList<ArrayList<Integer>>(vertices));
for (int j = 0; j < secondDimensionSize; j++) {
listOfListOfList.get(i).add(new ArrayList<Integer>());
for(int k = 0; k < thirdDimensionSize; k++) {
listOfListOfList.get(i).get(j).add(k);
}
}
}
}
pamiętać, że można opuścić <> pusty po nowym ArrayList <>. Java będzie wnioskować o typie (bez względu na sposób zagnieżdżenia), ponieważ java 7 wierzę. Po prostu zapisałem je w przykładzie, aby pokazać, jakiego typu używasz na każdym poziomie, aby przykład był bardziej przejrzysty. Nadal można je zapisać, aby kod był bardziej czytelny.
Dlaczego miałbyś * oczekiwać * możliwości? –
Ponieważ próbujesz rzucić sparametryzowany typ: 'Object', do sparametryzowanego typu:' ArrayList '. –
Rob
A czego się spodziewać? –