Tablice w Java

Co to jest Java Tablice?

Java Szyk to bardzo powszechny typ struktury danych, który zawiera wszystkie wartości danych tego samego typu. Elementy danych umieszczone w tablicy nazywane są elementami, a pierwszy element tablicy zaczyna się od indeksu zerowego. Tablice dziedziczą klasę obiektów i implementują interfejsy, które można serializować i klonować. Możemy przechowywać prymitywne wartości lub obiekty w tablicy.

Krótko mówiąc, jest to konstrukcja programistyczna, która pomaga to zastąpić

x0=0;
x1=1;
x2=2;
x3=3;
x4=4;
x5=5;

z tym …

x[0]=0;
x[1]=1;
x[2]=2;
x[3]=3;
x[4]=4;
x[5]=5;

pomaga to w tym, że zmienna może w łatwy sposób odwoływać się do indeksu (liczby w nawiasie []). pętla.

for(count=0; count<5; count++) {
     System.out.println(x[count]);
   }

Typy tablic w Java

Istnieją dwa typy tablic.

  1. Tablica jednowymiarowa
  2. Tablica wielowymiarowa

Zmienne tablicowe

Użycie tablicy w programie to a 3-etapowy proces -

1) Deklarowanie tablicy

2) Konstruowanie tablicy

3) Zainicjuj tablicę

1) Deklarowanie tablicy

Składnia

<elementType>[] <arrayName>;

Lub

 <elementType> <arrayName>[];

Przykład:

int intArray[];
 // Defines that intArray is an ARRAY variable which will store integer values
int []intArray;

2) Konstruowanie tablicy

 arrayname = new dataType[]

Przykład:

intArray = new int[10]; // Defines that intArray will store 10 integer values

Deklaracja i konstrukcja połączone

int intArray[] = new int[10];

3) Zainicjuj tablicę

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

Deklarowanie i inicjowanie tablicy

[]  = {};
Przykład:
 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.

Pierwszy program tablicowy

Krok 1) Skopiuj poniższy kod do edytora.

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;
      }
}

Krok 2) Zapisz, skompiluj i uruchom kod. Obserwuj wynik

Oczekiwany wynik:

array[0] = 1
array[1] = 2
array[2] = 3
array[3] = 4
array[4] = 5
array[5] = 6
array[6] = 7

Krok 3) Jeśli x jest odwołaniem do tablicy, x.długość poda długość tablicy.

Odkomentuj wiersz nr 10. Zapisz, skompiluj i uruchom kod. Obserwuj wynik

Length of Array  =  7

Krok 4) W odróżnieniu od C. Java sprawdza granicę tablicy podczas uzyskiwania dostępu do jej elementu. Java nie pozwoli programiście przekroczyć swojej granicy.

Odkomentuj wiersz nr 11. Zapisz, skompiluj i uruchom kod. Obserwuj wynik

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 8
        at ArrayDemo.main(ArrayDemo.java:11)
Command exited with non-zero status 1

Krok 5) Zgłaszany jest wyjątek ArrayIndexOutOfBoundsException. W przypadku C ten sam kod pokazywałby pewną wartość śmieciową.

Java Tablica: Przekaż przez odniesienie

Tablice są przekazywane do funkcji przez referencję lub jako wskaźnik do
oryginalny. Oznacza to wszystko, co zrobisz z tablicą wewnątrz
funkcja wpływa na oryginał.

Przykład: Aby zrozumieć, Array są przekazywane przez referencję

Krok 1) Skopiuj poniższy kod do edytora

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]);
   }
}

Krok 2) Zapisz, skompiluj i uruchom kod. Obserwuj wynik

Oczekiwany wynik:

Before Function Call    Apple
After Function Call    Changed

Tablice wielowymiarowe

Tablice wielowymiarowe są w rzeczywistości tablicami tablic.

Aby zadeklarować tablicę wielowymiarową zmienna, określ każdy dodatkowy indeks za pomocą innych nawiasów kwadratowych.

Ex: int twoD[ ][ ] = new int[4][5] ;

Kiedy alokujesz pamięć dla tablicy wielowymiarowej, wystarczy określić pamięć dla pierwszego (skrajnie lewego) wymiaru.

Pozostałe wymiary możesz przydzielić osobno.

In Java, długość każdej tablicy w tablicy wielowymiarowej jest pod Twoją kontrolą.

Przykład

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] + " ");
}

}

Oczekiwany wynik:

1