Che cos'è un array?
Scorri per mostrare il menu
Array
Memorizzare informazioni esclusivamente nelle variabili non è sempre conveniente, poiché consumerebbe una quantità significativa di memoria stack e richiederebbe molte righe di codice.
La soluzione a questo problema sono gli array.
Un array è un contenitore che può contenere un numero fisso di oggetti dello stesso tipo.
Vediamo la sintassi di base per dichiarare un array in Java:
Main.java
1dataType[] arrayName = new dataType[capacity];
È possibile utilizzare qualsiasi tipo di dato quando si dichiara un array, inclusi int, float, char e altri.
È obbligatorio specificare la dimensione dell'array tra parentesi quadre ([]). Consideriamo un esempio di creazione di un array di tipo int con dimensione 5:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }
Come avrai notato, abbiamo utilizzato qualcosa di nuovo con l'output della console: una proprietà dell'array.
Gli array possiedono proprietà proprie, a cui si accede tramite la notazione punto (.). Nel nostro esempio, l'array intArray utilizza una di queste proprietà. La proprietà .length restituisce la dimensione dell'array come valore int. Questo può essere scritto anche in modo diverso:
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }
Ora, analizziamo tre metodi e proprietà fondamentali per lavorare con gli array:
Arrays.sort(array): ordina gli elementi dell'array in ordine crescente;Arrays.fill(array, value): imposta tutti gli elementi dell'array al valore specificato;Arrays.toString(array): converte l'array in una rappresentazione testuale, facilitando la visualizzazione dei suoi elementi.
Questi metodi provengono dalla classe di utilità java.util.Arrays. Per utilizzarli, il codice deve importare questa classe all'inizio.
Main.java
1234567891011121314151617package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }
Per prima cosa, ordina l'array in ordine crescente utilizzando Arrays.sort() e visualizza l'array ordinato tramite Arrays.toString(), che converte l'array in un formato di stringa leggibile. Successivamente, tutti gli elementi dell'array vengono sostituiti con 0 usando Arrays.fill(), e l'array aggiornato viene stampato nello stesso formato leggibile.
array è semplicemente un nome di esempio per l'array. Puoi assegnare all'array il nome che preferisci, in base ai requisiti del compito o alle tue preferenze.
Come accedere a dati specifici in un array?
Gli array in Java sono indicizzati. Ogni elemento dell'array si trova in una propria cella ed è assegnato a un ID univoco. La numerazione degli elementi all'interno dell'array inizia da 0. Supponiamo di avere un array di numeri da zero a nove, quindi contiene 10 elementi.
Esaminiamo un diagramma che illustra come gli elementi sono organizzati all'interno dell'array:
Se abbiamo un array con 10 elementi, il primo elemento sarà memorizzato all'indice 0 e l'ultimo all'indice 9, perché l'indicizzazione parte da zero.
In programmazione, gli array utilizzano l'indicizzazione a partire da zero, il che significa che il primo elemento si trova in posizione 0. La formula N-1 aiuta a calcolare la posizione di un elemento nell'array, dove N è il numero dell'elemento (a partire da 1) e N-1 è il suo indice nell'array.
La pratica è sempre meglio della sola teoria, quindi ecco un esempio di aggiunta e rimozione di elementi da un array utilizzando gli indici:
Main.java
12345678910111213141516package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }
Abbiamo popolato il nostro array con elementi da uno a cinque specificando ogni elemento tramite un indice. Tuttavia, questo approccio non è elegante e richiede molte righe di codice. Esploriamo un metodo alternativo per dichiarare un array che sia già precompilato:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }
Abbiamo creato un array identico a quello realizzato in precedenza, ma questa volta sono state necessarie meno righe di codice e il risultato appare più elegante.
È importante notare che, utilizzando questa notazione per gli array, gli elementi devono essere racchiusi tra parentesi graffe ({}) e separati da virgole.
Quando si dichiara un array in questo modo, non si specifica esplicitamente la sua dimensione. Il compilatore determina automaticamente la lunghezza necessaria dell'array in base agli elementi forniti e lo popola di conseguenza.
1. Cosa verrà stampato quando eseguiamo questo codice?
2. Cosa verrà stampato quando eseguiamo questo codice?
Grazie per i tuoi commenti!
Chieda ad AI
Chieda ad AI
Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione
Che cos'è un array?
Array
Memorizzare informazioni esclusivamente nelle variabili non è sempre conveniente, poiché consumerebbe una quantità significativa di memoria stack e richiederebbe molte righe di codice.
La soluzione a questo problema sono gli array.
Un array è un contenitore che può contenere un numero fisso di oggetti dello stesso tipo.
Vediamo la sintassi di base per dichiarare un array in Java:
Main.java
1dataType[] arrayName = new dataType[capacity];
È possibile utilizzare qualsiasi tipo di dato quando si dichiara un array, inclusi int, float, char e altri.
È obbligatorio specificare la dimensione dell'array tra parentesi quadre ([]). Consideriamo un esempio di creazione di un array di tipo int con dimensione 5:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Prints the size of the array System.out.println(intArray.length); } }
Come avrai notato, abbiamo utilizzato qualcosa di nuovo con l'output della console: una proprietà dell'array.
Gli array possiedono proprietà proprie, a cui si accede tramite la notazione punto (.). Nel nostro esempio, l'array intArray utilizza una di queste proprietà. La proprietà .length restituisce la dimensione dell'array come valore int. Questo può essere scritto anche in modo diverso:
Main.java
123456789101112package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Declares a new int with the value of the array's size int length = intArray.length; // Prints the size of the array System.out.println(length); } }
Ora, analizziamo tre metodi e proprietà fondamentali per lavorare con gli array:
Arrays.sort(array): ordina gli elementi dell'array in ordine crescente;Arrays.fill(array, value): imposta tutti gli elementi dell'array al valore specificato;Arrays.toString(array): converte l'array in una rappresentazione testuale, facilitando la visualizzazione dei suoi elementi.
Questi metodi provengono dalla classe di utilità java.util.Arrays. Per utilizzarli, il codice deve importare questa classe all'inizio.
Main.java
1234567891011121314151617package com.example; import java.util.Arrays; public class Main { public static void main(String[] args) { int[] array = {5, 2, 9, 1, 6}; // Sort the array Arrays.sort(array); System.out.println("Sorted array: " + Arrays.toString(array)); // Fill the array with the value 0 Arrays.fill(array, 0); System.out.println("Array after filling: " + Arrays.toString(array)); } }
Per prima cosa, ordina l'array in ordine crescente utilizzando Arrays.sort() e visualizza l'array ordinato tramite Arrays.toString(), che converte l'array in un formato di stringa leggibile. Successivamente, tutti gli elementi dell'array vengono sostituiti con 0 usando Arrays.fill(), e l'array aggiornato viene stampato nello stesso formato leggibile.
array è semplicemente un nome di esempio per l'array. Puoi assegnare all'array il nome che preferisci, in base ai requisiti del compito o alle tue preferenze.
Come accedere a dati specifici in un array?
Gli array in Java sono indicizzati. Ogni elemento dell'array si trova in una propria cella ed è assegnato a un ID univoco. La numerazione degli elementi all'interno dell'array inizia da 0. Supponiamo di avere un array di numeri da zero a nove, quindi contiene 10 elementi.
Esaminiamo un diagramma che illustra come gli elementi sono organizzati all'interno dell'array:
Se abbiamo un array con 10 elementi, il primo elemento sarà memorizzato all'indice 0 e l'ultimo all'indice 9, perché l'indicizzazione parte da zero.
In programmazione, gli array utilizzano l'indicizzazione a partire da zero, il che significa che il primo elemento si trova in posizione 0. La formula N-1 aiuta a calcolare la posizione di un elemento nell'array, dove N è il numero dell'elemento (a partire da 1) e N-1 è il suo indice nell'array.
La pratica è sempre meglio della sola teoria, quindi ecco un esempio di aggiunta e rimozione di elementi da un array utilizzando gli indici:
Main.java
12345678910111213141516package com.example; public class Main { public static void main(String[] args) { // Declares a new int array with a length of 5 int[] intArray = new int[5]; // Fills the array with numbers from 1 to 5 intArray[0] = 1; intArray[1] = 2; intArray[2] = 3; intArray[3] = 4; intArray[4] = 5; // Prints the fourth element of the array System.out.println(intArray[3]); } }
Abbiamo popolato il nostro array con elementi da uno a cinque specificando ogni elemento tramite un indice. Tuttavia, questo approccio non è elegante e richiede molte righe di codice. Esploriamo un metodo alternativo per dichiarare un array che sia già precompilato:
Main.java
12345678910package com.example; public class Main { public static void main(String[] args) { // Declares a new pre-filled int array with a length of 5 int[] intArray = {1, 2, 3, 4, 5}; // Prints the first element of the array System.out.println(intArray[0]); } }
Abbiamo creato un array identico a quello realizzato in precedenza, ma questa volta sono state necessarie meno righe di codice e il risultato appare più elegante.
È importante notare che, utilizzando questa notazione per gli array, gli elementi devono essere racchiusi tra parentesi graffe ({}) e separati da virgole.
Quando si dichiara un array in questo modo, non si specifica esplicitamente la sua dimensione. Il compilatore determina automaticamente la lunghezza necessaria dell'array in base agli elementi forniti e lo popola di conseguenza.
Grazie per i tuoi commenti!