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.

  1. Endimensionell array
  2. 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