Array in formato Java

โšก Riepilogo intelligente

Array in formato Java Sono contenitori a dimensione fissa, basati su indici, che memorizzano elementi di un tipo di dati in memoria contigua, garantendo accesso a tempo costante, controllo dei limiti integrato e un campo lunghezza che li rende la base per la maggior parte delle collezioni della libreria standard.

  • ๐Ÿ“ฆ Dimensione fissa: Un array contiene un numero fisso di elementi di un singolo tipo.
  • ๐Ÿ”ข Indice a base zero: Gli elementi vanno da 0 alla lunghezza meno uno.
  • ๐Ÿงฉ Due tipi: Java Dispone di array monodimensionali e multidimensionali.
  • ๏ธ Tre passi: Ogni array รจ dichiarato, costruito con newe inizializzato.
  • ๐Ÿ›ก๏ธ Controllo dei limiti: La JVM genera ArrayIndexOutOfBoundsException oltre l'ultimo slot.
  • ๏ธ Per riferimento: Le modifiche agli elementi apportate all'interno di un metodo permangono per chi lo ha chiamato.
  • ๐Ÿ“ Campo lunghezza: Ogni array espone length per un'iterazione sicura.

Array in formato Java

Cos'รจ un Java Vettore?

A Java schieramento รจ una struttura a dimensione fissa che memorizza elementi di un tipo di dati in memoria contigua. Ogni elemento รจ raggiungibile tramite un indice basato su zero, quindi il primo si trova a 0 e l'ultimo a length - 1. Gli array ereditano da Object e attuare Serializable and Cloneablee puรฒ contenere tipi primitivi o riferimenti a oggetti.

Gli array sostituiscono lunghe sequenze di variabili numerate. Consideriamo sei numeri interi indipendenti:

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

Gli stessi sei valori risiedono in un singolo array di lunghezza sei:

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

A loop La variabile puรฒ guidare l'indice tra parentesi, quindi tre righe elaborano ogni elemento invece di sei copie:

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

Tipi di array in Java

Java Gli array si presentano in due forme:

  1. Matrice monodimensionale: un elenco semplice di elementi.
  2. Array multidimensionale: Un array di array, utilizzato per griglie e matrici.

Variabili array: dichiarazione, costruzione e inizializzazione

L'utilizzo di un array รจ un processo in tre fasi: dichiarare, costruire con new, quindi inizializzare.

1) Dichiarare l'array

Sintassi:

<elementType>[] <arrayName>;

or (la vecchia forma in stile C, ancora valida):

<elementType> <arrayName>[];

Esempio:

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

2) Costruire l'array

Sintassi:

arrayName = new dataType[size];

Esempio:

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

Dichiarazione e costruzione congiunte:

int[] intArray = new int[10];

3) Inizializzare l'array

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

Dichiarazione e inizializzazione in un unico passaggio utilizzando un array letterale:

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.

Primo programma di array in Java

Passo 1) Copia il seguente codice in un 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;
    }
}

Passo 2) Salva, compila ed esegui il codice. Osserva l'output.

Uscita prevista:

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

Passo 3) If x รจ un riferimento ad array, x.length restituisce il numero di slot. Decommenta la prima riga commentata e riesegui:

Length of Array  =  7

Passo 4) A differenza di C, Java Il programma controlla i limiti di ogni accesso all'array. Rimuovi il commento dalla seconda riga commentata e riavvia il programma:

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

Passo 5) La JVM genera ArrayIndexOutOfBoundsExceptionIn C, lo stesso accesso restituirebbe dati spazzatura dalla memoria adiacente anzichรฉ fallire.

Java Array: Passaggio per riferimento

Gli array vengono passati ai metodi per riferimento. Il metodo riceve una copia del riferimento, quindi le modifiche agli elementi apportate all'interno del metodo sono visibili a chi lo chiama.

Esempio: gli array vengono passati per riferimento.

Passo 1) Copia il seguente codice in un 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]);
    }
}

Passo 2) Salva, compila ed esegui il codice. Osserva l'output.

Uscita prevista:

Before Function Call    Apple
After Function Call    Changed

Matrici multidimensionali in Java

Gli array multidimensionali sono array di array. Aggiungi un altro set di parentesi quadre per ogni dimensione. Per creare una griglia di numeri interi bidimensionale con quattro righe e cinque colonne:

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

Devi solo dimensionare la prima dimensione (quella piรน a sinistra) all'inizio. Le dimensioni rimanenti possono essere assegnate separatamente e ogni riga puรฒ avere la propria lunghezza, rendendo Java Matrici 2D vere schiere frastagliate.

Esempio:

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

Uscita prevista:

1

DOMANDE FREQUENTI

A Java Un array รจ un contenitore di dimensioni fisse che memorizza elementi di un unico tipo di dati. Ogni elemento รจ accessibile tramite un indice a base zero e ogni array espone un campo lunghezza con il numero di slot.

Dichiara con int[] arr, costruisci con new int[size], quindi assegna per indice. Per fare tutte e tre le operazioni in una sola riga, usa un letterale come int[] arr = {1, 2, 3, 4}.

Java Supporta array monodimensionali e multidimensionali. Un array monodimensionale รจ una lista semplice, mentre un array multidimensionale รจ un array di array utilizzato per tabelle, griglie e matrici.

Utilizza il campo lunghezza, ad esempio arr.length. Restituisce il numero di slot e funziona con qualsiasi tipo di array. A differenza delle stringhe, gli array espongono la lunghezza come campo, non come chiamata di metodo.

La JVM controlla i limiti di ogni accesso agli array. La lettura o la scrittura di un indice inferiore a zero o pari o superiore alla lunghezza genera un'eccezione ArrayIndexOutOfBoundsException, prevenendo i bug di corruzione della memoria che affliggono C e C++.

Java Il metodo passa gli argomenti per valore, ma per gli array tale valore รจ una copia del riferimento. Il metodo agisce sullo stesso array sottostante, quindi le modifiche agli elementi all'interno del metodo sono visibili al chiamante.

Gli assistenti di codice basati sull'apprendimento automatico riconoscono il modello declare-construct-initialise e completano i letterali o i cicli. Segnalano inoltre i comuni errori di tipo "off-by-one" che genererebbero un'eccezione ArrayIndexOutOfBoundsException in fase di esecuzione.

Sรฌ. GitHub Copilot genera automaticamente dichiarazioni di array, cicli, chiamate a Arrays.sort e percorsi di matrici 2D a partire da un commento in linguaggio naturale. RevVisualizza i limiti generati prima di eseguire il test sui dati di produzione.

Riassumi questo post con: