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.

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

Oppsummer dette innlegget med: