Arrays ein Java

โšก Intelligente Zusammenfassung

Arrays ein Java Es handelt sich um Container fester GrรถรŸe mit Index, die Elemente eines Datentyps in zusammenhรคngendem Speicher speichern und dadurch einen Zugriff in konstanter Zeit, eine integrierte Bereichsprรผfung und ein Lรคngenfeld ermรถglichen. Dadurch bilden sie die Grundlage fรผr die meisten Sammlungen der Standardbibliothek.

  • ๐Ÿ“ฆ Feste GrรถรŸe: Ein Array enthรคlt eine festgelegte Anzahl von Elementen eines einzigen Typs.
  • ๐Ÿ”ข Nullbasierter Index: Die Elemente reichen von 0 bis zur Lรคnge minus eins.
  • ๐Ÿงฉ Zwei Arten: Java verfรผgt รผber eindimensionale und mehrdimensionale Arrays.
  • ๏ธ Drei Schritte: Jedes Array wird deklariert und konstruiert mit newund initialisiert.
  • ๐Ÿ›ก๏ธ Bereichsprรผfung: Die JVM lรถst eine Ausnahme aus. ArrayIndexOutOfBoundsException hinter dem letzten Platz.
  • ๏ธ GemรครŸ: ร„nderungen an Elementen, die innerhalb einer Methode vorgenommen werden, bleiben fรผr den Aufrufer erhalten.
  • ๐Ÿ“ Lรคngenfeld: Jedes Array legt Folgendes offen length fรผr eine sichere Iteration.

Arrays ein Java

Was ist ein Java Array?

A Java Array ist eine Struktur fester GrรถรŸe, die Elemente eines Datentyps im zusammenhรคngenden Speicher speichert. Jedes Element wird รผber einen nullbasierten Index erreicht, sodass sich das erste Element an der Adresse befindet. 0 und die letzte bei length - 1Arrays erben von Object und implementieren Serializable und Cloneableund kรถnnen primitive Datentypen oder Objektverweise enthalten.

Arrays ersetzen lange Ketten nummerierter Variablen. Betrachten wir sechs unabhรคngige ganze Zahlen:

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

Die gleichen sechs Werte befinden sich in einem einzigen Array der Lรคnge sechs:

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

A Schleife Die Variable kann den Index in Klammern steuern, sodass drei Zeilen jedes Element verarbeiten, anstatt sechs Kopien:

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

Arten von Arrays in Java

Java Arrays gibt es in zwei Formen:

  1. Eindimensionales Array: eine flache Liste von Elementen.
  2. Mehrdimensionales Array: Ein Array von Arrays, das fรผr Gitter und Matrizen verwendet wird.

Array-Variablen: Deklarieren, Konstruieren und Initialisieren

Die Verwendung eines Arrays ist ein Prozess in drei Schritten: deklarieren, konstruieren mit newinitialisieren Sie dann.

1) Deklarieren Sie das Array

Syntax:

<elementType>[] <arrayName>;

or (die รคltere C-Form, weiterhin gรผltig):

<elementType> <arrayName>[];

Ejemplo:

int[] intArray;   // canonical form: brackets on the type
int intArray2[];  // legacy C-style form, discouraged in new code

2) Konstruiere das Array

Syntax:

arrayName = new dataType[size];

Ejemplo:

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

Erklรคrung und Bau kombiniert:

int[] intArray = new int[10];

3) Initialisiere das Array

intArray[0] = 1; // assigns 1 to the first element (index 0)
intArray[1] = 2; // assigns 2 to the second element (index 1)

Deklarieren und initialisieren in einem Schritt Verwendung eines Array-Literals:

int[] intArray = {1, 2, 3, 4};
// initialises an integer array of length 4 where the first element is 1,
// the second element is 2, and so on.

Erstes Array-Programm in Java

Schritt 1) Kopieren Sie den folgenden Code in einen 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;
    }
}

Schritt 2) Speichern, kompilieren und fรผhren Sie den Code aus. Beobachten Sie die Ausgabe.

Erwartete Ausgabe:

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

Schritt 3) If x ist eine Array-Referenz, x.length Gibt die Anzahl der Slots zurรผck. Entfernen Sie die Kommentarzeichen in der ersten auskommentierten Zeile und fรผhren Sie das Programm erneut aus:

Length of Array  =  7

Schritt 4) Im Gegensatz zu C, Java Es wird bei jedem Arrayzugriff eine Bereichsprรผfung durchgefรผhrt. Entfernen Sie die Kommentarzeichen in der zweiten auskommentierten Zeile und fรผhren Sie das Programm erneut aus:

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

Schritt 5) Die JVM lรถst eine Ausnahme aus. ArrayIndexOutOfBoundsExceptionIn C wรผrde derselbe Zugriff nicht zu einem Fehler fรผhren, sondern lediglich Datenmรผll aus dem angrenzenden Speicher zurรผckgeben.

Java Array: รœbergabe per Referenz

Arrays werden Methoden per Referenz รผbergeben. Die Methode erhรคlt eine Kopie der Referenz, sodass ร„nderungen an Elementen innerhalb der Methode fรผr den Aufrufer sichtbar sind.

Beispiel: Arrays werden als Referenz รผbergeben.

Schritt 1) Kopieren Sie den folgenden Code in einen 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]);
    }
}

Schritt 2) Speichern, kompilieren und fรผhren Sie den Code aus. Beobachten Sie die Ausgabe.

Erwartete Ausgabe:

Before Function Call    Apple
After Function Call    Changed

Mehrdimensionale Arrays in Java

Mehrdimensionale Arrays sind Arrays von Arrays. Fรผgen Sie fรผr jede Dimension ein weiteres Paar eckiger Klammern hinzu. So erstellen Sie ein zweidimensionales Ganzzahlgitter mit vier Zeilen und fรผnf Spalten:

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

Sie mรผssen nur die erste (linke) Dimension vorab festlegen. Die รผbrigen Dimensionen kรถnnen separat zugewiesen werden, und jede Zeile kann ihre eigene Lรคnge haben. Java 2-D-Arrays sind wahr gezackte Anordnungen.

Ejemplo:

public class Guru99 {
    public static void main(String[] args) {
        // Create a 2-dimensional array with 4 rows and 4 columns.
        int[][] twoD = new int[4][4];

        // Assign three elements to it.
        twoD[0][0] = 1;
        twoD[1][1] = 2;
        twoD[3][2] = 3;

        System.out.print(twoD[0][0] + " ");
    }
}

Erwartete Ausgabe:

1

Hรคufig gestellte Fragen

A Java Ein Array ist ein Container fester GrรถรŸe, der Elemente eines Datentyps speichert. Auf jedes Element wird รผber einen nullbasierten Index zugegriffen, und jedes Array stellt ein Lรคngenfeld mit der Anzahl der Slots bereit.

Deklarieren Sie ein Array mit `int[] arr`, erstellen Sie es mit `new int[size]` und weisen Sie ihm anschlieรŸend die Werte รผber den Index zu. Um alle drei Schritte in einer Zeile auszufรผhren, verwenden Sie ein Literal wie z. B. `int[] arr = {1, 2, 3, 4}`.

Java Unterstรผtzt eindimensionale und mehrdimensionale Arrays. Ein eindimensionales Array ist eine flache Liste, und ein mehrdimensionales Array ist ein Array von Arrays, das fรผr Tabellen, Gitter und Matrizen verwendet wird.

Verwenden Sie das Lรคngenfeld, beispielsweise `arr.length`. Es gibt die Anzahl der Slots zurรผck und funktioniert fรผr jeden Array-Typ. Im Gegensatz zu `String` wird die Lรคnge bei Arrays als Feld und nicht als Methodenaufruf bereitgestellt.

Die JVM fรผhrt bei jedem Array-Zugriff eine Bereichsprรผfung durch. Das Lesen oder Schreiben eines Index unterhalb von Null oder an oder oberhalb der Array-Lรคnge lรถst eine ArrayIndexOutOfBoundsException aus und verhindert so die Speicherfehler, die C und C hรคufig plagen. C++.

Java Die Methode รผbergibt Argumente per Wert, wobei dieser Wert bei Arrays eine Kopie der Referenz ist. Die Methode arbeitet auf demselben zugrundeliegenden Array, sodass ร„nderungen an Elementen innerhalb der Methode fรผr den Aufrufer sichtbar sind.

Code-Assistenten fรผr maschinelles Lernen erkennen das Deklarieren-Konstruktieren-Initialisieren-Muster und vervollstรคndigen Literale oder Schleifen. Sie kennzeichnen auรŸerdem hรคufige Off-by-One-Fehler, die zur Laufzeit eine ArrayIndexOutOfBoundsException auslรถsen wรผrden.

Ja. GitHub Copilot generiert aus einem Kommentar in einfacher Sprache Array-Deklarationen, Schleifen, Aufrufe von Arrays.sort und 2D-Matrix-Durchlรคufe. Revรœberprรผfen Sie die generierten Grenzen, bevor Sie das Training mit den Produktionsdaten durchfรผhren.

Fassen Sie diesen Beitrag mit folgenden Worten zusammen: