I vettori e gli arrays



La scorsa lezione abbiamo visto cosa sia un oggetto, come si crea e come si usa.
Oggi vedremo due strutture fondamentali per tutti i linguaggi di programmazione: i vettori e gli arrays.
Molti diranno: ma che differenza c'è tra un vettore ed un array?
Due differenze notevolissime:
  1. Il vettore è una struttura DINAMICA mentre l'array è una struttura STATICA .
  2. Un vettore può contenere solo riferimenti a tipi Object (oggetti), mentre un array solo elementi di un tipo specifico
Una struttura è detta dinamica se non ha una dimensione prefissata, mentre è detta statica se la sua dimensione è definita con la sua dichiarazione (come accade per le costanti).

A cosa serve un vettore o un array?
I vettori e gli arrays sono strutture utilizzate per memorizzare lunghe liste di valori e di oggetti dello stesso tipo.

I vettori

Il vettore è,come abbiamo detto, una struttura dinamica per cui alla sua dichiarazione non dovremo dire quanti elementi ci metteremo dentro!
import java.util.ArrayList; ArrayList monete = new ArrayList(); Ho importato la classe necessaria.
Ho dichiarato un vettore di oggetti chiamato "monete".

Bene, bene adesso che sappiamo come dichiarare un vettore cosa ne facciamo?
Ecco i metodi fondamentali da conoscere per lavorare con i vettori:

Gli arrays


Un array è, invece, statico quindi dovremo dire quanto lo vogliamo grande.
int[] interi = new int[10]; Ho dichiarato un array di interi in cui potrò mettere fino a 10 elementi.

Come faccio a mettere un numero nell'array?
interi[3] = 10; Ho messo nella posione 3 dell'array il valore 10.

Come faccio a leggere un elemento da un array?
int a = interi[3]; Assegno ad "a" il valore contenuto nell'array in posizione 3.

Come faccio a saper quanti elementi ha un array?
int arrayLen = interi.length; Questa non è la chiamata ad un metodo (non ci sono le parentesi) ma la lettura di una variabile di istanza publica dell'oggetto "interi" che contiene, appunto, la lunghezza dell'array stesso.

Posso copiare un array in un'altro array?
Si, usando il metodo:
System.arraycopy(arrayIniziale, posizioneArrayIniziale, arrayDestinazione, posizioneArrayDestinazione, numeroElementiDaCopiare);
Ora spiego il significato dei parametri tra parentesi:
Posso costruire array a più dimensioni?
Ovviamente si, se no le matrici come le gestiamo?
int[][] matrix = new int[10][20]; Ecco qua una bella matrice "10 X 20" 10 righe X 20 colonne.

Ricordate che all'interno di vettore o di un array si parte a contare gli elementi da 0 e non da 1 !!!
Quindi il primo elemento avrà come indice [0] e non [1]; allora l'ultimo elemento sarà:<
Queste nozioni sono la base per lavorare con i vettori e gli array: la vera sfida è escogitare algoritmi molto veloci per l'ordinamento e per la ricerca all'interno di un vettore o di un array. A voi il compito di farlo ;)


Indietro Avanti Corso di Java Coding center Back to home