Estratto del documento

Ridimensionare un array

Non è possibile ridimensionare un array, però si può costruire un metodo che usa un array come valore di ritorno. Questo metodo restituisce un array contenente i dati dell’array e con oldArray lunghezza newLength.

public static int[] resize(int[] oldArray, int newLength) {
    int[] newArray = new int[newLength];
    int n = newLength;
    for (int i = 0; i < n; i++)
        newArray[i] = oldArray[i];
    return newArray;
}

Copiare un array

Invece di usare un ciclo, è possibile invocare il metodo statico arraycopy della classe System (nel pacchetto java.lang):

System.arraycopy(from, fromStart, to, toStart, counter);

Il metodo System.arraycopy consente di copiare una porzione di un array in un altro.

double[] values = new double[10];
...
double[] otherValues = new double[values.length];
System.arraycopy(values, 0, otherValues, 0, values.length);

È anche possibile usare il metodo clone (Attenzione: il metodo clone restituisce un riferimento di tipo Object):

double[] otherValues = (double[]) values.clone();

Eliminare un elemento di un array

  • Se l’ordine tra gli elementi dell’array non è importante è sufficiente:
    • Copiare l’ultimo elemento dell’array nella posizione dell’elemento da eliminare
    • Ridimensionare l’array (oppure usare la tecnica degli array riempiti soltanto in parte)
  • Se l’ordine tra gli elementi dell’array deve essere mantenuto bisogna:
    • Spostare tutti gli elementi dell’array successivi all'elemento da rimuovere nella posizione con indice immediatamente inferiore
    • Ridimensionare l’array (oppure usare la tecnica degli array riempiti soltanto in parte)

Inserire un elemento in un array

  • Per inserire l'elemento nella posizione voluta bisogna “fargli spazio”. È necessario:
    • Ingrandire l’array
    • Spostare tutti gli elementi dell’array successivi alla posizione di inserimento nella posizione con indice immediatamente superiore (a partire dall'ultimo)
Anteprima
Vedrai una selezione di 1 pagina su 2
Informatica I - semplici algoritmi per array Pag. 1
1 su 2
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher enricopava di informazioni apprese con la frequenza delle lezioni di Informatica 1 e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università degli Studi di Padova o del prof Avanzini Federico.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community