Arrays i Java
Hva er Java Matriser?
Java Array er en veldig vanlig type datastruktur som inneholder alle dataverdiene av samme datatype. Dataelementene som legges inn i matrisen kalles elementer, og det fรธrste elementet i matrisen starter med indeks null. Arrays arver objektklassen og implementerer de serialiserbare og klonbare grensesnittene. Vi kan lagre primitive verdier eller objekter i en matrise.
Med enkle ord er det en programmeringskonstruksjon som er med pรฅ รฅ 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 hjelper er at en variabel enkelt kan referere til indeksen (tallet i parentesen[]). looping.
for(count=0; count<5; count++) {
System.out.println(x[count]);
}
Typer Array i Java
Det finnes to typer array.
- Endimensjonal array
- Flerdimensjonalt matrise
Matrisevariabler
ร bruke en matrise i programmet er en 3 trinns prosess -
1) Erklรฆrer Arrayen din
2) Konstruerer Array
3) Initialiser Array
1) Deklarer matrisen din
syntax
<elementType>[] <arrayName>;
or
<elementType> <arrayName>[];
Eksempel:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstruere en matrise
arrayname = new dataType[]
Eksempel:
intArray = new int[10]; // Defines that intArray will store 10 integer values
Erklรฆring og konstruksjon kombinert
int intArray[] = new int[10];
3) Initialiser en matrise
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
Deklarere og initialisere en 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
Trinn 1) Kopier fรธlgende kode inn 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;
}
}
Trinn 2) Lagre, kompiler og kjรธr koden. Observer utgangen
Forventet utgang:
array[0] = 1 array[1] = 2 array[2] = 3 array[3] = 4 array[4] = 5 array[5] = 6 array[6] = 7
Trinn 3) Hvis x er en referanse til en matrise, x.lengde vil gi deg lengden pรฅ matrisen.
Fjern kommentar linje #10. Lagre, kompiler og kjรธr koden. Observer utdataene
Length of Array = 7
Trinn 4) I motsetning til C, Java sjekker grensen til en matrise mens du fรฅr tilgang til et element i den. Java vil ikke tillate programmereren รฅ overskride sin grense.
Fjern kommentar linje #11. Lagre, kompiler og kjรธr koden. Observer utdataene
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
at ArrayDemo.main(ArrayDemo.java:11)
Command exited with non-zero status 1
Trinn 5) ArrayIndexOutOfBoundsException is thrown. In case of C, the same code would have shown some garbage value.
Java Array: Pass ved referanse
Matriser sendes til funksjoner ved referanse, eller som en peker til
originalen. Dette betyr alt du gjรธr med Arrayen inne i
funksjonen pรฅvirker originalen.
Eksempel: For รฅ forstรฅ Array sendes ved referanse
Trinn 1) Kopier fรธlgende kode inn i et redigeringsprogram
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]);
}
}
Trinn 2) Lagre, kompiler og kjรธr koden. Observer utgangen
Forventet utgang:
Before Function Call Apple After Function Call Changed
Flerdimensjonale matriser
Flerdimensjonale arrays er faktisk arrays av arrays.
For รฅ erklรฆre en flerdimensjonal matrise variabel, spesifiser hver ekstra indeks ved รฅ bruke et annet sett med firkantede parenteser.
Ex: int twoD[ ][ ] = new int[4][5] ;
Nรฅr du tildeler minne for en flerdimensjonal matrise, trenger du bare spesifisere minnet for den fรธrste (lengst til venstre) dimensjonen.
Du kan tildele de resterende dimensjonene separat.
In Java, matriselengden til hver matrise i en flerdimensjonal matrise er under din kontroll.
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 utgang:
1
