Arrays binnen Java
Wat is Java Array's?
Java reeks is een veel voorkomend type datastructuur dat alle datawaarden van hetzelfde datatype bevat. De gegevensitems die in de array worden geplaatst, worden elementen genoemd en het eerste element in de array begint met index nul. Arrays erven de objectklasse en implementeren de serialiseerbare en kloonbare interfaces. We kunnen primitieve waarden of objecten in een array opslaan.
In eenvoudige bewoordingen is het een programmeerconstructie die dit helpt vervangen
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
hiermee …
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
Hoe dit helpt, is dat een variabele gemakkelijk naar de index (het getal tussen haakjes []) kan verwijzen looping.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Soorten Arrays in Java
Er zijn twee soorten arrays.
- Enkelvoudige dimensionale array
- Multidimensionale array
Array-variabelen
Het gebruik van een array in uw programma is a 3 stappen proces -
1) Uw array declareren
2) Uw array samenstellen
3) Initialiseer uw array
1) Uw array declareren
Syntaxis
<elementType>[] <arrayName>;
of
<elementType> <arrayName>[];
Voorbeeld:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Een array construeren
arrayname = new dataType[]
Voorbeeld:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Aangifte en constructie gecombineerd
int intArray[] = new int[10];
3) Initialiseer een array
intArray[0]=1; // Assigns an integer value 1 to the first element 0 of the array intArray[1]=2; // Assigns an integer value 2 to the second element 1 of the array
Een array declareren en initialiseren
[] = {};Voorbeeld:
int intArray[] = {1, 2, 3, 4}; // Initilializes an integer array of length 4 where the first element is 1 , second element is 2 and so on.
Eerste Array-programma
Stap 1) Kopieer de volgende code in 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) Bewaar, compileer en voer de code uit. Observeer 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) Als x een verwijzing is naar een array, x.lengte geeft je de lengte van de array.
Verwijder commentaarregel #10. Bewaar, compileer en voer de code uit. Observeer de uitvoer
Length of Array = 7
Stap 4) In tegenstelling tot C, Java controleert de grens van een array terwijl hij toegang krijgt tot een element daarin. Java zal de programmeur niet toestaan zijn grens te overschrijden.
Verwijder commentaarregel #11. Bewaar, compileer en voer de code uit. Observeer de uitvoer
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Stap 5) ArrayIndexOutOfBoundsException wordt gegenereerd. In het geval van C zou dezelfde code een bepaalde waarde hebben getoond.
Java Array: passeren door referentie
Arrays worden doorgegeven aan functies door middel van verwijzing of als verwijzing naar
het origineel. Dit betekent alles wat u doet met de array in de
functie beïnvloedt het origineel.
Voorbeeld: Om Array te begrijpen, wordt dit ter referentie doorgegeven
Stap 1) Kopieer de volgende code in 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) Bewaar, compileer en voer de code uit. Observeer de uitvoer
Verwachte resultaten:
Before Function Call Apple After Function Call Changed
Multidimensionale arrays
Multidimensionale arrays zijn eigenlijk arrays van arrays.
Een multidimensionale array declareren variabele, specificeer elke extra index met behulp van een extra set vierkante haken.
Ex: int twoD[ ][ ] = new int[4][5] ;
Wanneer u geheugen toewijst aan een multidimensionale array, hoeft u alleen het geheugen voor de eerste (meest linkse) dimensie op te geven.
De overige afmetingen kunt u apart toekennen.
In Java, heeft u de controle over de arraylengte van elke array in een multidimensionale array.
Voorbeeld
public class Guru99 { public static void main(String[] args) { // Create 2-dimensional array. int[][] twoD = new int[4][4]; // Assign three elements in it. twoD[0][0] = 1; twoD[1][1] = 2; twoD[3][2] = 3; System.out.print(twoD[0][0] + " "); } }
Verwachte resultaten:
1