Práca s poliami v Jave
Ako inicializovať, naplniť, získať prístup a kopírovať pole v jazyku Java
vgajic/Getty Images
Ak program potrebuje pracovať s množstvom rovnakých hodnôtpremenlivýpre každé číslo. Napríklad program, ktorý zobrazuje čísla lotérie:
|_+_||_+_| |_+_| |_+_| |_+_| |_+_|Elegantnejším spôsobom nakladania s hodnotami, ktoré možno zoskupiť, je použiť pole. Pole je kontajner, ktorý obsahuje pevný počet hodnôt typu údajov. Vo vyššie uvedenom príklade môžu byť čísla lotérie zoskupené do poľa int:
|_+_|
Predstavte si pole ako rad políčok. Počet políčok v poli sa nemôže zmeniť. Každé pole môže obsahovať hodnotu, pokiaľ má rovnaký dátový typ ako hodnoty obsiahnuté v ostatných poliach. Môžete sa pozrieť do poľa a zistiť, akú hodnotu obsahuje, alebo nahradiť obsah poľa inou hodnotou. Keď hovoríme o poliach, polia sa nazývajú prvky.
Deklarovanie a inicializácia poľa
Deklaračný príkaz pre pole je podobný tomu použitému deklarovať akúkoľvek inú premennú . Obsahuje dátový typ, za ktorým nasleduje názov poľa - jediný rozdiel je zahrnutie hranatých zátvoriek vedľa dátového typu:
|_+_||_+_| |_+_|
The deklaračné vyhlásenia vyššie to povedzte kompilátoru
|_+_|premenná je pole |_+_|, |_+_|je pole |_+_|a |_+_|Číslo v zátvorkách určuje, koľko prvkov pole obsahuje. Vyššie uvedený príkaz priradenia vytvorí pole int s desiatimi prvkami. Samozrejme, nie je dôvod, prečo sa deklarácia a priradenie nemôže uskutočniť v jednom príkaze:
|_+_|Polia nie sú obmedzené na primitívne dátové typy. Je možné vytvárať polia objektov:
|_+_|Použitie poľa
Po inicializácii poľa môžu mať prvky priradené hodnoty pomocou indexu poľa. Index definuje pozíciu každého prvku v poli. Prvý prvok je na 0, druhý prvok na 1 atď. Je dôležité poznamenať, že index prvého prvku je 0. Je ľahké si myslieť, že pretože pole má desať prvkov, index je od 1 do 10 namiesto od 0 do 9. Ak sa napríklad vrátime k lotérii príklad čísel môžeme vytvoriť pole obsahujúce 6 prvkov a priradiť čísla lotérie k prvkom:
|_+_||_+_| |_+_| |_+_| |_+_| |_+_| |_+_|
Existuje skratka na vyplnenie prvkov v poli vložením hodnôt prvkov do deklaračného príkazu:
|_+_||_+_|Hodnoty pre každý prvok sú umiestnené vo vnútri páru zložených zátvoriek. Poradie hodnôt určuje, ktorému prvku je priradená hodnota začínajúca indexovou pozíciou 0. Počet prvkov v poli je určený počtom hodnôt v zložených zátvorkách.
Na získanie hodnoty prvku sa používa jeho index:
|_+_|Ak chcete zistiť, koľko prvkov má pole, použite pole dĺžky:
|_+_|
Poznámka: Bežnou chybou pri používaní metódy dĺžky je zabúdanie, že ako pozíciu indexu sa používa hodnota dĺžky. To bude mať vždy za následok chybu, pretože indexové pozície poľa sú od 0 do dĺžky - 1.
Viacrozmerné polia
Polia, ktoré sme doteraz skúmali, sú známe ako jednorozmerné (alebo jednorozmerné) polia. To znamená, že majú iba jeden rad prvkov. Polia však môžu mať viac ako jeden rozmer. Multidimenzionálne je vlastne pole, ktoré obsahuje polia:
|_+_|
Index pre viacrozmerné pole pozostáva z dvoch čísel:
|_+_|Hoci dĺžka polí obsiahnutých vo viacrozmernom poli nemusí mať rovnakú dĺžku:
|_+_|Kopírovanie poľa
Ak chcete skopírovať pole, najjednoduchším spôsobom je použiť
|_+_|metóda triedy System. Metódu |_+_| možno použiť na kopírovanie všetkých prvkov poľa alebo ich podsekcií. Do |_+_| je odovzdaných päť parametrovNapríklad na vytvorenie nového poľa obsahujúceho posledné štyri prvky an
|_+_||_+_| |_+_|Keďže polia majú pevnú dĺžku
arraycopyAk chcete rozšíriť svoje znalosti o poliach, môžete sa dozvedieť o manipulácii s poliami pomocou triedy Arrays a vytváraní dynamických polí (t. j. polí, keď počet prvkov nie je pevným číslom) pomocou Trieda ArrayList .