Tömbök be Java
⚡ Okos összefoglaló
Tömbök be Java fix méretű, indexalapú konténerek, amelyek egy adattípus elemeit tárolják összefüggő memóriában, állandó idejű hozzáférést, beépített határellenőrzést és egy hosszmezőt biztosítva, amelyek a legtöbb standard könyvtári gyűjtemény alapját képezik.

Mi a Java Sor?
A Java sor egy fix méretű struktúra, amely egy adattípusú elemeket tárol összefüggő memóriában. Minden elemet egy nulla alapú index ér el, így az első a következő helyen található: 0 és az utolsót length - 1A tömbök innen öröklődnek: Object és végrehajtani Serializable és a Cloneable, és primitíveket vagy objektumhivatkozásokat tartalmazhat.
A tömbök hosszú, számozott változókból álló sorozatokat helyettesítenek. Tekintsünk hat független egész számot:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Ugyanaz a hat érték egyetlen, hat hosszú tömbben található:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A hurok változó vezérelheti a zárójelben lévő indexet, így három sor dolgozza fel minden elemet hat másolat helyett:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
A tömb típusai Java
Java A tömbök kétféle formában kaphatók:
- Egydimenziós tömb: egy lapos elemlista.
- Többdimenziós tömb: tömbök tömbje, amelyet rácsokhoz és mátrixokhoz használnak.
Tömbváltozók: deklarálás, konstruálás és inicializálás
Egy tömb használata egy háromlépéses folyamat: deklarál, szerkeszt new, majd inicializálja.
1) Deklarálja a tömböt
Syntax:
<elementType>[] <arrayName>;
or (a régebbi C stílusú forma, továbbra is érvényes):
<elementType> <arrayName>[];
Példa:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) A tömb létrehozása
Syntax:
arrayName = new dataType[size];
Példa:
intArray = new int[10]; // defines that intArray will store 10 integer values
Nyilatkozat és konstrukció együttesen:
int[] intArray = new int[10];
3) Inicializálja a tömböt
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Deklarálás és inicializálás egy lépésben tömb literál használatával:
int[] intArray = {1, 2, 3, 4}; // initialises an integer array of length 4 where the first element is 1, // the second element is 2, and so on.
Első tömbprogram Java
Step 1) Másold be a következő kódot egy szerkesztőbe:
class ArrayDemo { public static void main(String args[]) { int array[] = new int[7]; for (int count = 0; count < 7; count++) { array[count] = count + 1; } for (int count = 0; count < 7; count++) { System.out.println("array[" + count + "] = " + array[count]); } // System.out.println("Length of Array = " + array.length); // array[8] = 10; } }
Step 2) Mentsd el, fordítsd le és futtasd a kódot. Figyeld meg a kimenetet.
Várható teljesítmény:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Step 3) If x egy tömbhivatkozás, x.length visszaadja a slotok számát. Távolítsa el a kommentelt első sort, és futtassa újra:
Length of Array = 7
Step 4) C-vel ellentétben, Java A határértékek minden tömbhozzáférést ellenőriznek. Töröld ki a második kommentelt sort a megjegyzésből, és futtasd újra:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Step 5) A JVM dob ArrayIndexOutOfBoundsExceptionC-ben ugyanaz a hozzáférés a szomszédos memóriából szemetet adna vissza a hiba helyett.
Java Tömb: Áthaladás referencia szerint
A tömböket referencia alapján adjuk át a metódusoknak. A metódus megkapja a referencia másolatát, így a metóduson belül végrehajtott elemmódosítások láthatók a hívó számára.
Példa: a tömböket hivatkozással adjuk át.
Step 1) Másold be a következő kódot egy szerkesztőbe:
class ArrayDemo { public static void passByReference(String a[]) { a[0] = "Changed"; } public static void main(String args[]) { String[] b = {"Apple", "Mango", "Orange"}; System.out.println("Before Function Call " + b[0]); ArrayDemo.passByReference(b); System.out.println("After Function Call " + b[0]); } }
Step 2) Mentsd el, fordítsd le és futtasd a kódot. Figyeld meg a kimenetet.
Várható teljesítmény:
Before Function Call Apple After Function Call Changed
Többdimenziós tömbök Java
A többdimenziós tömbök tömbök tömbjeinek tömbjei. Minden dimenzióhoz adjon hozzá még egy szögletes zárójelkészletet. Négy soros és öt oszlopos kétdimenziós egész rács létrehozásához:
int[][] twoD = new int[4][5];
Csak az első (bal szélső) méretet kell előre méretezni. A többi méret külön-külön kiosztható, és minden sornak lehet saját hossza, így Java 2D tömbök igazak szaggatott tömbök.
Példa:
public class Guru99 { public static void main(String[] args) { // Create a 2-dimensional array with 4 rows and 4 columns. int[][] twoD = new int[4][4]; // Assign three elements to it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Várható teljesítmény:
1
