Arrays i Java
Hvad er Java Arrays?
Java Array er en meget almindelig type datastruktur, som indeholder alle dataværdier af samme datatype. Dataelementerne i arrayet kaldes elementer, og det første element i arrayet starter med indeks nul. Arrays arver objektklassen og implementerer de serialiserbare og kloningsbare grænseflader. Vi kan gemme primitive værdier eller objekter i en matrix.
Med enkle ord er det en programmeringskonstruktion, som hjælper med at erstatte dette
x0=0; x1=1; x2=2; x3=3; x4=4; x5=5;
med dette …
x[0]=0; x[1]=1; x[2]=2; x[3]=3; x[4]=4; x[5]=5;
hvordan dette hjælper er, at en variabel nemt kan referere til indekset (tallet i parentesen[]). sløjfe.
for(count=0; count<5; count++) { System.out.println(x[count]); }
Typer af Array i Java
Der er to typer array.
- Single Dimensional Array
- Flerdimensionel matrix
Array variabler
Brug af et array i dit program er en 3 trins proces -
1) Erklærer dit Array
2) Konstruktion af dit array
3) Initialiser dit Array
1) Erklæring af dit array
Syntaks
<elementType>[] <arrayName>;
eller
<elementType> <arrayName>[];
Eksempel:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstruktion af et array
arrayname = new dataType[]
Eksempel:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Erklæring og Konstruktion kombineret
int intArray[] = new int[10];
3) Initialiser et 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
Erklære og initialisere et array
[] = {};Eksempel:
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ørste Array-program
Trin 1) Kopier følgende kode ind i 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; } }
Trin 2) Gem, kompilér og kør koden. Overhold outputtet
Forventet output:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Trin 3) Hvis x er en reference til en matrix, x.længde vil give dig længden af arrayet.
Fjern kommentar linje #10. Gem, kompilér og kør koden. Overhold outputtet
Length of Array = 7
Trin 4) I modsætning til C, Java kontrollerer grænsen for et array, mens du får adgang til et element i det. Java vil ikke tillade programmøren at overskride sin grænse.
Fjern kommentar linje #11. Gem, kompilér og kør koden. Overhold outputtet
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8 at ArrayDemo.main(ArrayDemo.java:11) Command exited with non-zero status 1
Trin 5) ArrayIndexOutOfBoundsException kastes. I tilfælde af C ville den samme kode have vist en vis skraldværdi.
Java Array: Bestå ved reference
Arrays sendes til funktioner ved reference eller som en pegepind til
den oprindelige. Dette betyder alt, hvad du gør ved Arrayet inde i
funktion påvirker originalen.
Eksempel: For at forstå Array videregives ved reference
Trin 1) Kopier følgende kode ind i 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]); } }
Trin 2) Gem, kompilér og kør koden. Overhold outputtet
Forventet output:
Before Function Call Apple After Function Call Changed
Multidimensionelle arrays
Multidimensionelle arrays er faktisk arrays af arrays.
At erklære en multidimensional matrix variabel, specificer hvert ekstra indeks ved hjælp af et andet sæt firkantede parenteser.
Ex: int twoD[ ][ ] = new int[4][5] ;
Når du allokerer hukommelse til et flerdimensionalt array, behøver du kun angive hukommelsen for den første (længst til venstre) dimension.
Du kan tildele de resterende dimensioner separat.
In Java, arraylængden af hvert array i et multidimensionelt array er under din kontrol.
Eksempel
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] + " "); } }
Forventet output:
1