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 []). looping.
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>;
or
<elementType> <arrayName>[];
Exempel:
int intArray[]; // Defines that intArray is an ARRAY variable which will store integer values int []intArray;
2) Konstruera en array
arrayname = new dataType[]
Exempel:
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
[] = {};
Exempel:
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
