Arrays binnen Java
โก Slimme samenvatting
Arrays binnen Java Het zijn op indexen gebaseerde containers met een vaste grootte die elementen van รฉรฉn gegevenstype in aaneengesloten geheugen opslaan, wat zorgt voor toegang in constante tijd, ingebouwde grenscontrole en een lengteveld. Dit maakt ze de basis voor de meeste standaardbibliotheekcollecties.

Wat is een Java Array?
A Java reeks is een structuur met een vaste grootte die elementen van รฉรฉn gegevenstype in aaneengesloten geheugen opslaat. Elk element is bereikbaar via een index die begint bij nul, dus het eerste element bevindt zich op de eerste positie. 0 en de laatste bij length - 1Arrays erven van Object en implementeren Serializable en Cloneableen kan primitieve gegevenstypen of objectverwijzingen bevatten.
Arrays vervangen lange reeksen genummerde variabelen. Neem bijvoorbeeld zes onafhankelijke gehele getallen:
x0 = 0; x1 = 1; x2 = 2; x3 = 3; x4 = 4; x5 = 5;
Dezelfde zes waarden bevinden zich in รฉรฉn enkele array met lengte zes:
x[0] = 0; x[1] = 1; x[2] = 2; x[3] = 3; x[4] = 4; x[5] = 5;
A lus De variabele kan de index tussen haakjes aansturen, waardoor elk element in drie regels wordt verwerkt in plaats van zes kopieรซn:
for (int count = 0; count < 5; count++) { System.out.println(x[count]); }
Soorten Arrays in Java
Java Arrays bestaan โโin twee vormen:
- Eendimensionale array: een platte lijst van elementen.
- Multidimensionale array: Een array van arrays, gebruikt voor roosters en matrices.
Arrayvariabelen: declareren, construeren en initialiseren
Het gebruik van een array is een proces in drie stappen: declareren, construeren met newInitialiseer vervolgens.
1) Declareer de array
Syntax:
<elementType>[] <arrayName>;
or (de oudere C-stijl vorm, nog steeds geldig):
<elementType> <arrayName>[];
Voorbeeld:
int[] intArray; // canonical form: brackets on the type int intArray2[]; // legacy C-style form, discouraged in new code
2) Maak de array aan
Syntax:
arrayName = new dataType[size];
Voorbeeld:
intArray = new int[10]; // defines that intArray will store 10 integer values
Verklaring en constructie gecombineerd:
int[] intArray = new int[10];
3) Initialiseer de array
intArray[0] = 1; // assigns 1 to the first element (index 0) intArray[1] = 2; // assigns 2 to the second element (index 1)
Declareer en initialiseer in รฉรฉn stap. een array-literal gebruiken:
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.
Eerste arrayprogramma in Java
Stap 1) Kopieer de volgende code naar een editor:
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; } }
Stap 2) Sla de code op, compileer deze en voer hem uit. Bekijk de uitvoer.
Verwachte resultaten:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Stap 3) If x is een array-referentie, x.length retourneert het aantal slots. Verwijder het commentaar bij de eerste regel en voer het programma opnieuw uit:
Length of Array = 7
Stap 4) In tegenstelling tot C, Java Voert bij elke toegang tot de array een grenscontrole uit. Verwijder het commentaar bij de tweede regel en voer het programma opnieuw uit:
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Stap 5) De JVM geeft een foutmelding. ArrayIndexOutOfBoundsExceptionIn C zou dezelfde toegang ongewenste gegevens uit het aangrenzende geheugen retourneren in plaats van een foutmelding te geven.
Java Array: Doorgeven via referentie
Arrays worden via een referentie aan methoden doorgegeven. De methode ontvangt een kopie van de referentie, waardoor wijzigingen aan elementen binnen de methode zichtbaar zijn voor de aanroeper.
Voorbeeld: arrays worden doorgegeven via referentie.
Stap 1) Kopieer de volgende code naar een editor:
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]); } }
Stap 2) Sla de code op, compileer deze en voer hem uit. Bekijk de uitvoer.
Verwachte resultaten:
Before Function Call Apple After Function Call Changed
Multidimensionale arrays in Java
Multidimensionale arrays zijn arrays van arrays. Voeg voor elke dimensie een extra set vierkante haken toe. Om een โโ2D-rooster met vier rijen en vijf kolommen te maken:
int[][] twoD = new int[4][5];
Je hoeft alleen de eerste (meest linkse) afmeting vooraf te bepalen. De overige afmetingen kunnen afzonderlijk worden toegewezen en elke rij kan zijn eigen lengte hebben, waardoor... Java 2D-arrays waar grillige arrays.
Voorbeeld:
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] + " "); } }
Verwachte resultaten:
1
