Arrayer in Java
Vad är Java Matriser?
Java array är en mycket vanlig typ av datastruktur som innehåller alla datavärden av samma datatyp. Dataobjekten som placeras i arrayen kallas element och det första elementet i arrayen börjar med index noll. Arrayer ärver objektklassen och implementerar de serialiserbara och klonbara gränssnitten. Vi kan lagra primitiva värden eller objekt i en array.
Med enkla ord är det en programmeringskonstruktion som hjälper till att ersätta detta
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
med detta …
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
hur detta hjälper är att en variabel enkelt kan referera till indexet (numret inom parentes []). slinga.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Typer av Array i Java
Det finns två typer av array.
- Endimensionell array
- Flerdimensionell array
Arrayvariabler
Att använda en array i ditt program är en 3 stegs process -
1) Deklarera din Array
2) Konstruerar din array
3) Initiera din Array
1) Deklarera din array
syntax
<elementType>[] <arrayName>;
eller
<elementType> <arrayName>[];
Exempelvis:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstruera en array
arrayname = new dataType[]
Exempelvis:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Deklaration och Konstruktion kombinerat
int intArray[] = new int[10];
3) Initiera en 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
Deklarera och initiera en array
[] = {};Exempelvis:
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.
Första Array-programmet
Steg 1) Kopiera följande kod till en 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; } }
Steg 2) Spara, kompilera och kör koden. Observera utgången
Förväntad produktion:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Steg 3) Om x är en referens till en array, x längd ger dig längden på arrayen.
Avkommentera rad #10. Spara, kompilera och kör koden. Observera utdata
Length of Array = 7
Steg 4) Till skillnad från C, Java kontrollerar gränsen för en array samtidigt som den får åtkomst till ett element i den. Java kommer inte att tillåta programmeraren att överskrida sin gräns.
Avkommentera rad #11. Spara, kompilera och kör koden. Observera utdata
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Steg 5) ArrayIndexOutOfBoundsException kastas. I fallet med C skulle samma kod ha visat ett skräpvärde.
Java Array: Passera genom referens
Matriser skickas till funktioner genom referens eller som en pekare till
Originalet. Detta betyder allt du gör med Arrayen inuti
funktionen påverkar originalet.
Exempel: För att förstå Array skickas genom referens
Steg 1) Kopiera följande kod till en 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]); } }
Steg 2) Spara, kompilera och kör koden. Observera utgången
Förväntad produktion:
Before Function Call Apple After Function Call Changed
Flerdimensionella arrayer
Flerdimensionella arrayer är faktiskt arrayer av arrayer.
Att deklarera en flerdimensionell array variabel, specificera varje ytterligare index med en annan uppsättning hakparenteser.
Ex: int twoD[ ][ ] = new int[4][5] ;
När du allokerar minne för en flerdimensionell array behöver du bara ange minnet för den första (längst till vänster) dimensionen.
Du kan tilldela de återstående dimensionerna separat.
In Java, arraylängden för varje array i en flerdimensionell array är under din kontroll.
Exempelvis
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] + " "); } }
Förväntad produktion:
1