Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Impara Che cos'è un array? | Array
Basi di Java

bookChe 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.

Esploriamo la sintassi di base per dichiarare un array in Java:

Main.java

Main.java

copy
1
dataType[] arrayName = new dataType[capacity];

È possibile utilizzare qualsiasi tipo di dato durante la dichiarazione di 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 una dimensione di 5:

Main.java

Main.java

copy
12345678910
package 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

Main.java

copy
123456789101112
package 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, esaminiamo 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.
Main.java

Main.java

copy
1234567891011121314151617
package 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, l'array viene ordinato in ordine crescente utilizzando Arrays.sort() e l'array ordinato viene visualizzato tramite Arrays.toString(), che converte l'array in un formato stringa leggibile. Successivamente, tutti gli elementi dell'array vengono sostituiti con 0 utilizzando Arrays.fill(), e l'array aggiornato viene stampato nello stesso formato leggibile.

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 è associato 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.

Analizziamo 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, poiché l'indicizzazione parte da zero.

La pratica è sempre meglio della sola teoria, quindi esploriamo un esempio di aggiunta e rimozione di elementi da un array utilizzando gli indici:

Main.java

Main.java

copy
12345678910111213141516
package 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 ciascun 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

Main.java

copy
12345678910
package 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.

1. Cosa verrà stampato quando eseguiremo questo codice?

2. Cosa verrà stampato quando eseguiamo questo codice?

question mark

Cosa verrà stampato quando eseguiremo questo codice?

Select the correct answer

question mark

Cosa verrà stampato quando eseguiamo questo codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 1

Chieda ad AI

expand

Chieda ad AI

ChatGPT

Chieda pure quello che desidera o provi una delle domande suggerite per iniziare la nostra conversazione

Suggested prompts:

Can you explain how to access or change a specific element in an array?

What happens if I try to access an index that doesn't exist in the array?

Can you show more examples of using Arrays methods like sort or fill?

bookChe 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.

Esploriamo la sintassi di base per dichiarare un array in Java:

Main.java

Main.java

copy
1
dataType[] arrayName = new dataType[capacity];

È possibile utilizzare qualsiasi tipo di dato durante la dichiarazione di 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 una dimensione di 5:

Main.java

Main.java

copy
12345678910
package 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

Main.java

copy
123456789101112
package 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, esaminiamo 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.
Main.java

Main.java

copy
1234567891011121314151617
package 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, l'array viene ordinato in ordine crescente utilizzando Arrays.sort() e l'array ordinato viene visualizzato tramite Arrays.toString(), che converte l'array in un formato stringa leggibile. Successivamente, tutti gli elementi dell'array vengono sostituiti con 0 utilizzando Arrays.fill(), e l'array aggiornato viene stampato nello stesso formato leggibile.

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 è associato 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.

Analizziamo 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, poiché l'indicizzazione parte da zero.

La pratica è sempre meglio della sola teoria, quindi esploriamo un esempio di aggiunta e rimozione di elementi da un array utilizzando gli indici:

Main.java

Main.java

copy
12345678910111213141516
package 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 ciascun 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

Main.java

copy
12345678910
package 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.

1. Cosa verrà stampato quando eseguiremo questo codice?

2. Cosa verrà stampato quando eseguiamo questo codice?

question mark

Cosa verrà stampato quando eseguiremo questo codice?

Select the correct answer

question mark

Cosa verrà stampato quando eseguiamo questo codice?

Select the correct answer

Tutto è chiaro?

Come possiamo migliorarlo?

Grazie per i tuoi commenti!

Sezione 4. Capitolo 1
some-alt