Inhoudsopgave:
Video: Curso Java 12 - Objetos @JoseCodFacilito 2024
In Java kunnen de elementen van een array elk type object zijn dat u wilt, inclusief een andere array. Dit wordt een tweedimensionale array - of (soms) een array arrays genoemd.
Tweedimensionale arrays
Om een tweedimensionale array te declareren, plaatst u eenvoudig twee sets lege haakjes, zoals deze:
int-nummers [] [];
Hier is getallen een tweedimensionale array van het type int. Om het anders te zeggen, getallen zijn een array van int-arrays.
Om de array te maken, gebruikt u het nieuwe sleutelwoord en verstrekt u lengtes voor elke set haken, zoals in dit voorbeeld:
nummers = nieuw int [10] [10];
Hier geeft de eerste dimensie aan dat de array nummers 10 elementen heeft. De tweede dimensie geeft aan dat elk van die elementen zelf een array met 10 elementen is.
Voor toegang tot de elementen van een tweedimensionale matrix gebruikt u twee indexen. Bijvoorbeeld:
int [5] [7] = 23853;
Vaak worden geneste for-lussen gebruikt om de elementen van een tweedimensionale array te verwerken, zoals in dit voorbeeld:
voor (int x = 0; x <10; x ++) {for (int y = 0; y <10; y ++) {numbers [x] [y] = (int) (Math. random () * 100) + 1}}
Je kunt een array-initializer gebruiken met een tweedimensionale array, zoals in deze voorbeeld:
tekenreeksleden [] [] = {{"Larry", "Curly", "Moe"}, {"Manny", "Moe", "Jack"}, {"Huey", "Dewey", "Louie"}} {25483. 0, 22943. 0, 38274. 0, 33294. 0}, // 2005 {24872. 0, 23049. 0, 39002. 0, 36888. 0}, // 2006 {28492. 0, 23784. 0, 42374. 0, 39573. 0}, // 2007 {31932. 0, 23732. 0, 42943. 0, 41734. 0}}; // 2008
Wanneer u een array met een expressie maakt, zoals een nieuwe int [5] [3], geeft u aan dat elk element van de hoofdarray in feite een array van het type int met drie elementen is. Met Java kunt u echter tweedimensionale arrays maken waarin de lengte van elk element van de hoofdarray anders is. Soms wordt dit een gekartelde array genoemd omdat de array geen mooie rechthoek vormt. In plaats daarvan zijn de randen gekarteld.
Arrays met meer dan twee dimensies
Java beperkt u niet tot tweedimensionale arrays. Arrays kunnen in arrays worden genest tot zoveel niveaus als uw programma nodig heeft. Als u een array met meer dan twee dimensies wilt declareren, geeft u zo veel sets lege haakjes op als u nodig heeft. Bijvoorbeeld:
int [] [] [] threeD = new int [3] [3] [3];
Hier wordt een driedimensionale array gemaakt, waarbij elke dimensie drie elementen heeft. Je kunt deze array zien als een kubus. Elk element heeft drie indexen nodig om te openen.
U hebt toegang tot een element in een multidimensionale array door zoveel indexen op te geven als de array nodig heeft.Bijvoorbeeld:
threeD [0] [1] [2] = 100;
Met deze instructie wordt element 2 ingesteld in kolom 1 van rij 0 tot 100.
U kunt initializers ook zo diep nestelen als nodig. Bijvoorbeeld:
int [] [] [] threeD = {{{1, 2, 3}, {4, 5, 6}, {7, 8, 9}}, {{10, 11, 12}, {13, 14, 15}, {16, 17, 18}}, {{19, 20, 21}, {22, 23, 24}, {25, 26, 27}}};
Hier wordt een driedimensionale array geïnitialiseerd met de getallen 1 tot en met 27.
U kunt ook meerdere geneste if-instructies gebruiken om een array met drie of meer dimensies te verwerken. Hier is nog een manier om een driedimensionale array te initialiseren met de nummers 1 tot 27:
int [] [] [] threeD2 = new int [3] [3] [3]; int waarde = 1; voor (int i = 0; i