Többdimenziós tömblista Java-ban

1. Áttekintés

Többdimenziós létrehozása Tömb lista gyakran felmerül a programozás során. Sok esetben szükség van kétdimenziós létrehozására Tömb lista vagy háromdimenziós Tömb lista.

Ebben az oktatóanyagban megvitatjuk, hogyan lehet többdimenziósat létrehozni Tömb lista Java-ban.

2. Kétdimenziós Tömb lista

Tegyük fel, hogy egy 3 csúcsú gráfot akarunk ábrázolni, 0-tól 2-ig számozva. Ezenkívül tegyük fel, hogy a grafikonban 3 él található (0, 1), (1, 2) és (2, 0), ahol egy pár a csúcsok egy élt jelentenek.

Képezhetjük az éleket egy 2-D-ben Tömb lista létrehozásával és feltöltésével Tömb lista nak,-nek Tömb listas.

Először hozzunk létre egy új 2-D-t Tömb lista:

int vertexCount = 3; Tömb lista graph = new ArrayList (vertexCount);

Ezután inicializáljuk a Tömb lista másikkal Tömb lista:

for (int i = 0; i <vertexCount; i ++) {graph.add (new ArrayList ()); }

Végül hozzáadhatjuk az összes élt (0, 1), (1, 2) és (2, 0) a 2-D Tömb lista:

graph.get (0) .add (1); graph.get (1) .add (2); graph.get (2) .add (0);

Tegyük fel azt is, hogy gráfunk nem irányított gráf. Tehát hozzá kell adnunk az (1, 0), (2, 1) és (0, 2) éleket is a 2-D Tömb lista:

graph.get (1) .add (0); graph.get (2) .add (1); graph.get (0) .add (2);

Ezután a teljes grafikon áttekintéséhez használhatunk kettőt a hurokhoz:

int vertexCount = graph.size (); for (int i = 0; i <vertexCount; i ++) {int edgeCount = graph.get (i) .size (); for (int j = 0; j <edgeCount; j ++) {Egész kezdetVertex = i; Egész szám endVertex = graph.get (i) .get (j); System.out.printf ("A% d csúcs kapcsolódik a% d% n csúcshoz", startVertex, endVertex); }}

3. Háromdimenziós Tömb lista

Az előző részben létrehoztunk egy kétdimenziós Tömb lista. Ugyanezt a logikát követve hozzunk létre egy háromdimenziós képet Tömb lista:

Tegyük fel, hogy egy 3D-s teret akarunk képviselni. Tehát ennek a 3-D térnek minden egyes pontját három koordináta képviseli, például X, Y és Z.

Emellett képzeljük el, hogy ezeknek a pontoknak mindegyikének lesz színe: vörös, zöld, kék vagy sárga. Most minden egyes pontot (X, Y, Z) és színét háromdimenziós ábrázolhatunk Tömb lista.

Tegyük fel, hogy az egyszerűség kedvéért egy (2 x 2 x 2) 3D-s helyet hozunk létre. Nyolc pontja lesz: (0, 0, 0), (0, 0, 1), (0, 1, 0), (0, 1, 1), (1, 0, 0), (1, 0 , 1), (1, 1, 0) és (1, 1, 1).

Inicializáljuk először a változókat és a 3D-t Tömb lista:

int x tengely hossza = 2; int y_tengelyhossz = 2; int zaxis_hossz = 2; Tömb lista<>> szóköz = új tömblista (x_tengely_hossz);

Ezután inicializáljuk a Tömb lista val vel Tömb lista:

for (int i = 0; i <x_axis_length; i ++) {space.add (új ArrayList(y_tengely_hossz)); for (int j = 0; j <y_axis_length; j ++) {space.get (i) .add (new ArrayList (z_axis_length)); }}

Most hozzáadhatunk színeket a tér pontjaihoz. Adjunk hozzá piros színt a (0, 0, 0) és (0, 0, 1) pontokhoz:

space.get (0) .get (0) .add (0, "Piros"); space.get (0) .get (0) .add (1, "Piros");

Ezután állítsuk be a kék színt a (0, 1, 0) és (0, 1, 1) pontokra:

space.get (0) .get (1) .add (0, "Blue"); space.get (0) .get (1) .add (1, "Blue");

Hasonlóképpen folytathatjuk a pontok feltöltését a többi szín térében.

Vegye figyelembe, hogy egy (i, j, k) koordinátákkal rendelkező pont színinformációi a következő 3D-ben tárolódnak Tömb lista elem:

space.get (i) .get (j) .get (k) 

Amint ebben a példában láthattuk, a tér változó egy Tömb lista. Továbbá ennek minden eleme Tömb lista egy 2-D Tömb lista (hasonló ahhoz, amit a 2. szakaszban láttunk).

Vegye figyelembe, hogy a mi elemünk indexe térTömb lista az X koordinátát jelenti, míg mindegyik 2-D Tömb lista, amely jelen van az indexen, az (Y, Z) koordinátákat képviseli.

4. Következtetés

Ebben a cikkben megvitattuk, hogyan lehet többdimenziósat létrehozni Tömb lista Java-ban. Láttuk, hogyan tudunk ábrázolni egy gráfot egy 2-D segítségével Tömb lista. Sőt, azt is megvizsgáltuk, hogyan lehet 3D-s térkoordinátákat ábrázolni egy 3D-vel Tömb lista.

Az első alkalommal egy Tömb lista nak,-nek Tömb lista, míg a második alkalommal egy Tömb lista a 2-D Tömb lista. Hasonlóképpen, hogy N-dimenziót hozzunk létre Tömb lista, kiterjeszthetjük ugyanazt a koncepciót.

Az oktatóanyag teljes megvalósítása megtalálható a GitHub-on.