Zoznam viacerých dimenzií v jazyku Java
1. Prehľad
Vytváranie multidimenzionálneho ArrayList sa často objaví počas programovania. V mnohých prípadoch je potrebné vytvoriť dvojrozmerný priestor ArrayList alebo trojrozmerný ArrayList.
V tomto výučbe si povieme, ako vytvoriť multidimenzionálny ArrayList v Jave.
2. Dvojrozmerné ArrayList
Predpokladajme, že chceme reprezentovať graf s 3 vrcholmi, očíslovanými od 0 do 2. Ďalej predpokladajme, že v grafe sú 3 hrany (0, 1), (1, 2) a (2, 0), kde je dvojica vrcholov predstavuje hranu.
Okraje môžeme znázorniť v 2-D ArrayList vytvorením a vyplnením súboru ArrayList z ArrayLists.
Najskôr vytvorme nový 2-D ArrayList:
int vertexCount = 3; ArrayList graph = new ArrayList (vertexCount);
Ďalej inicializujeme každý prvok ArrayList s inou ArrayList:
for (int i = 0; i <vertexCount; i ++) {graph.add (new ArrayList ()); }
Nakoniec môžeme pridať všetky hrany (0, 1), (1, 2) a (2, 0) do nášho 2D ArrayList:
graph.get (0) .add (1); graph.get (1) .add (2); graph.get (2) .add (0);
Predpokladajme tiež, že náš graf nie je smerovaný. Takže musíme tiež pridať hrany (1, 0), (2, 1) a (0, 2) do nášho 2D ArrayList:
graph.get (1) .add (0); graph.get (2) .add (1); graph.get (0) .add (2);
Potom, aby sme prešli celým grafom, môžeme použiť slučku for:
int vertexCount = graph.size (); pre (int i = 0; i <vertexCount; i ++) {int edgeCount = graph.get (i) .size (); for (int j = 0; j <edgeCount; j ++) {Integer startVertex = i; Celé číslo endVertex = graph.get (i) .get (j); System.out.printf ("Vrchol% d je pripojený k vrcholu% d% n", startVertex, endVertex); }}
3. Trojrozmerný ArrayList
V predchádzajúcej časti sme vytvorili dvojrozmerný ArrayList. Podľa rovnakej logiky vytvorme trojrozmerný ArrayList:
Predpokladajme, že chceme reprezentovať 3-D priestor. Takže každý bod v tomto trojrozmernom priestore bude predstavovaný tromi súradnicami, povedzme X, Y a Z.
Okrem toho si predstavme, že každý z týchto bodov bude mať farbu, červenú, zelenú, modrú alebo žltú. Teraz môže byť každý bod (X, Y, Z) a jeho farba znázornená trojrozmerne ArrayList.
Pre jednoduchosť predpokladajme, že vytvárame (2 x 2 x 2) 3-D priestor. Bude mať osem bodov: (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0 , 1), (1, 1, 0) a (1, 1, 1).
Najskôr inicializujme premenné a 3-D ArrayList:
int x_axis_length = 2; int y_axis_length = 2; int z_axis_length = 2; ArrayList<>> medzera = nový ArrayList (x_axis_length);
Potom poďme inicializovať každý prvok ArrayList s ArrayList
pre (int i = 0; i <x_axis_length; i ++) {space.add (nový ArrayList(y_axis_length)); for (int j = 0; j <y_axis_length; j ++) {space.get (i) .add (new ArrayList (z_axis_length)); }}
Teraz môžeme pridávať farby k bodom v priestore. Pridajme červenú farbu pre body (0, 0, 0) a (0, 0, 1):
space.get (0) .get (0) .add (0, "červená"); space.get (0) .get (0) .add (1, "červená");
Potom nastavíme modrú farbu pre body (0, 1, 0) a (0, 1, 1):
space.get (0) .get (1) .add (0, "modrá"); space.get (0) .get (1) .add (1, „modrý“);
A podobne môžeme pokračovať v obsadzovaní bodov v priestore pre ďalšie farby.
Všimnite si, že bod so súradnicami (i, j, k) má svoje farebné informácie uložené v nasledujúcom 3-D ArrayList element:
medzera.get (i) .get (j) .get (k)
Ako sme videli v tomto príklade, priestor premenná je ArrayList. Tiež každý jeho prvok ArrayList je 2-D ArrayList (podobné tomu, čo sme videli v časti 2).
Všimnite si, že index prvkov v našom priestorArrayList predstavuje súradnicu X, pričom každá 2-D ArrayList, prítomný v tomto indexe, predstavuje (Y, Z) súradnice.
4. Záver
V tomto článku sme diskutovali o tom, ako vytvoriť multidimenzionálny ArrayList v Jave. Videli sme, ako môžeme znázorniť graf pomocou 2-D ArrayList. Okrem toho sme tiež preskúmali, ako reprezentovať 3D priestorové súradnice pomocou 3D ArrayList.
Prvýkrát sme použili ArrayList z ArrayList, zatiaľ čo druhýkrát sme použili ArrayList 2-D ArrayList. Podobne vytvoriť N-dimenzionálny ArrayList, môžeme rozšíriť ten istý koncept.
Celú implementáciu tohto tutoriálu nájdete na GitHub.