Hogyan kell dolgozni a tömbökkel: Deklarálás és inicializálás

Ha egy programnak több azonos értékkel kell dolgoznia adattípus, kijelentheti a változó minden számra. Például egy program, amely megjeleníti a lottószámokat:

int lottószám1 = 16;
int lottószám2 = 32;
int lottószám3 = 12;
int lottószám4 = 23;
int lottószám5 = 33;
int lottószám6 = 20;

Az összevonható értékek kezelésének elegánsabb módja egy tömb használata. A tömb olyan tároló, amely rögzített számú adattípust tartalmaz. A fenti példában a lottószámok csoportosíthatók egy int tömbbe:

int [] lotteryNumbers = {16,32,12,23,33,20}; 

Gondolj egy tömbre mint dobozsorra. A tömb mezőinek száma nem változhat. Mindegyik dobozban lehet egy érték, feltéve, hogy ugyanaz az adattípus, mint a többi dobozban szereplő értékek. A doboz belsejében megnézheti, hogy milyen értéket tartalmaz, vagy helyettesítheti a doboz tartalmát egy másik értékkel. Ha tömbökről beszélünk, akkor a négyzeteket elemeknek nevezzük.

Egy tömb deklarálása és inicializálása

A tömb deklarációs nyilatkozata hasonló a megszokotthoz deklaráljon minden más változót

instagram viewer
. Az adattípust és a tömb nevét tartalmazza - az egyetlen különbség az, hogy szögletes zárójelek szerepeljenek az adattípus mellett:

int [] intArray;
úszó [] floatArray; 
char [] charArray;

Az nyilatkozatok fent mondja meg a fordítónak, hogy

intArray
a változó egy tömbje
ints
,
floatArray
egy tömbje
úszik
és
charArray
egy karakterlánc tömb. Mint minden változó, ezek sem használhatók, amíg nem érték inicializálásával inicializálják. Egy tömbhez egy érték hozzárendelésekor egy tömbnek meg kell határoznia a tömb méretét:
intArray = új int [10]; 

A zárójelben lévő szám határozza meg, hogy a tömb hány elemet tartson. A fenti hozzárendelési nyilatkozat egy tíz elemből álló int tömböt hoz létre. Természetesen nincs oka annak, hogy a nyilatkozat és a megbízás nem történhet meg egyetlen nyilatkozatban:

úszó [] floatArray = új úszó [10]; 

A tömbök nem korlátozódnak a primitív adattípusokra. Objektumok tömbjei hozhatók létre:

Karakterlánc [] neve = új karakterlánc [5]; 

Tömb használata

Ha a tömb inicializálva van, akkor az elemek értékét hozzárendelheti hozzájuk a tömb indexének felhasználásával. Az index meghatározza a tömb minden elemének helyzetét. Az első elem 0-nál van, a második elem 1-nél és így tovább. Fontos megjegyezni, hogy az első elem indexe 0. Könnyű azt gondolni, hogy mivel egy tömb tíz elemből áll, az index 1 és 10 között van, és nem 0 és 9 között van. Például, ha visszatérünk a lottószámokra, létrehozhatunk egy tömböt, amely 6 elemet tartalmaz, és a lottószámokat hozzárendelhetjük az elemekhez:

int [] lotteryNumbers = új int [6];
lottószámok [0] = 16;
lottószámok [1] = 32;
lottószámok [2] = 12;
lottószámok [3] = 23;
lottószámok [4] = 33;
lottószámok [5] = 20;

Az elem kitöltése egy tömbben gyorsulást eredményez, ha az elemek értékeit a deklarációs nyilatkozatba helyezi:

int [] lotteryNumbers = {16,32,12,23,33,20};
Karakterlánc [] név = {"John", "James", "Julian", "Jack", "Jonathon"};

Az egyes elemek értékeit pár göndör zárójelbe helyezik. Az értékek sorrendje határozza meg, hogy melyik elemhez rendelték az értéket a 0. indexpozícióval kezdve. A tömb elemeinek számát a göndör zárójelben lévő értékek száma határozza meg.

Egy elem értékének meghatározásához az indexet használják:

System.out.println ("Az első elem értéke" + lotteryNumbers [0]); 

Megtudhatja, hogy egy tömbnek hány elemét használja a hosszmező:

System.out.println ("A LotteryNumbers tömbnek van" + lotteryNumbers.length + "elements"); 

Jegyzet: A hosszúság-módszer használata során az egyik leggyakoribb hiba az, hogy az elfelejtés a hosszúság értékének indexpozícióként történő használata. Ez mindig hibát fog eredményezni, mivel a tömb indexpozíciói 0-tól 1-ig terjednek.

Többdimenziós tömbök

Azokat a tömböket, amelyeket eddig vizsgáltunk, egydimenziós (vagy egydimenziós) tömböknek nevezzük. Ez azt jelenti, hogy csak egy sor elemük van. A tömböknek azonban lehet egynél több dimenziója is. A többdimenziós valójában egy tömb, amely tömböket tartalmaz:

int [] [] lottószámok = {{16,32,12,23,33,20}, {34,40,3,11,33,24}}; 

A többdimenziós tömb indexe két számból áll:

System.out.println ("Az 1,4 elem értéke" + lottószámok [1] [4]); 

Bár a többdimenziós tömbben lévő tömböknek nem kell azonos hosszúságúnak lenniük:

Karakterlánc [] [] név = új karakterlánc [5] [7]; 

Tömb másolása

Egy tömb másolásához a legegyszerűbb módszer a

arraycopy
a System osztály módszere. Az
arraycopy
módszer használható a tömb összes elemének vagy részének másolására. Öt paraméter került át a
 arraycopy
módszer - az eredeti tömb, az index helyzete az elem másolásának megkezdéséhez, az új tömb, az index pozíció, amellyel beilleszteni, a másolandó elemek száma:
nyilvános statikus void arraycopy (Object src, int srcPos, Object dest, int destPos, int length)

Például új tömb létrehozásához, amely tartalmazza az an utolsó négy elemét

int 
sor:
int [] lotteryNumbers = {16,32,12,23,33,20};
int [] newArrayNumbers = új int [4];
System.arraycopy (lottószámok, 2, newArrayNumbers, 0, 4);

Mivel a tömbök rögzített hosszúságúak, a

arraycopy
módszer hasznos módszer lehet a tömb méretének megváltoztatására.

A tömbökkel kapcsolatos ismeretek továbbfejlesztéséhez megismerheti a tömbök tömbökkel történő manipulálását osztályozás és dinamikus tömbök készítése (vagyis tömbök, ha az elemek száma nem rögzített szám) használni a ArrayList osztály.

instagram story viewer