GLI ARRAY IN JAVA

ARRAY REFERENCE E LENGTH

java-logo

Quando noi dichiariamo e inizializziamo un Array, come sappiamo stiamo usando un reference type. L’Array myArray contiene il reference che punta all’area di memoria dove è situato l’array. 

Reference type

Se adesso dichiariamo un secondo Array di tipo compatibile con il primo e lo inizializziamo con il primo Array, quello che otteniamo non è la copia dell’Array ma myArray2 contiene il valore del riferimento che punta alla stessa area di memoria di myArray.

myArray2

Se modifichiamo myArray2, cioè di fatto andando a sostituire un valore, cambia anche myArray.

Modifica

L’ATTRIBUTO LENGTH

Tutti gli Array hanno un attributo di istanza predefinito che si chiama length e che ci dice il numero di elementi contenuti nell’Array.

Attributo length

Vediamo cosa succede per gli Array bidimensionali e irregolari.

Array irregolare

IL LOOP FOR/EACH PER GLI ARRAY

Utilizziamo un ciclo for per visualizzare gli elementi dell’Array myArray.

Ciclo for su array

In Java esiste un altro ciclo For Loop pensato per casi come questo. el è l’elemento prelevato dall’Array myArray, che essendo un array di interi, anche questa variabile sarà di tipo int. Seguono i due punti e l’oggetto da iterare. All’interno del loop el è una variabile in sola lettura (Read-Only).

For Each

Vediamo negli Array bidimensionali come si scorrono gli elementi.

Array Bidimensionali

INTRODUZIONE AI METODI VARARGS

Abbiamo visto sinora che i parametri di un metodo vengono fissati in fase di dichiarazione. Tuttavia, ci sono dei casi in cui è preferibile un numero arbitrario di argomenti da passare a un metodo.

varargs

Tra il Data Type del parametro e il parametro arg abbiamo inserito tre punti. Gli argomenti al parametro arg vengono passati sotto forma di Array con il tipo corrispondente al Data Type assegnato.

Ciclo sul varargs

Costruiamo una classe di test e invochiamo il metodo.

Classe di test

Possiamo introdurre più parametri, tuttavia se vi è un parametro varargs questo deve essere unico e situato alla fine della lista dei parametri.

varargs e altri parametri

OVERLOAD DEI METODI VARARGS

Vediamo come usare l’overload dei varargs con una figura.

Overload

Vediamo la classe di test.

Classe di test per overload

Cosa succede se non rispettiamo la firma? Quale metodo verrà invocato? La risposta la trovi nel codice scaricabile da GITHUB.

Varargs incorretto

LINK AI POST PRECEDENTI

IL LINGUAGGIO JAVA

LINK AL CODICE SU GITHUB

GITHUB

ESECUZIONE DEL CODICE DI ESEMPIO

  • Scaricare il codice da GITHUB, lanciare il file JAR con il seguente comando in Visual Studio Code, posizionandosi nella directory contenente il JAR.

        java -jar –enable-preview CorsoJava.jar

  • Oppure mettere in esecuzione il main che si trova nel file CorsoJava.java.