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
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
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 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);

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


<p><strong>ELIMINARE UN ELEMENTO DI UN ARRAY</strong></p>
<ul>
  <li>se l'ordine tra gli elementi dell'array non è importante è sufficiente:
    <ul>
      <li>copiare l'ultimo elemento dell'array nella posizione dell'elemento da eliminare</li>
      <li>ridimensionare l'array (oppure usare la tecnica degli array riempiti soltanto in parte)</li>
    </ul>
  </li>
  <li>se l'ordine tra gli elementi dell'array deve essere mantenuto bisogna:
    <ul>
      <li>Spostare tutti gli elementi dell'array successivi all'elemento da rimuovere nella posizione con indice immediatamente inferiore</li>
      <li>ridimensionare l'array (oppure usare la tecnica degli array riempiti soltanto in parte)</li>
    </ul>
  </li>
</ul>

<p><strong>INSERIRE UN ELEMENTO IN UN ARRAY</strong></p>
<ul>
  <li>Per inserire l'elemento nella posizione voluta bisogna "fargli spazio". È necessario:
    <ul>
      <li>Ingrandire l'array</li>
      <li>Spostare tutti gli elementi dell'array successivi alla posizione di inserimento nella posizione con indice</li>
    </ul>
  </li>
</ul>

immediatamente superiore (a partire dall'ultimo)

Dettagli
Publisher
A.A. 2012-2013
2 pagine
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.