Io ho un array di stringhe che uso all'interno di un for.
Ad ogni iterazione lo dovrei "allungare" mantenendo gli elementi precedenti e aggiungendone altri.
Come posso fare?
Io ho un array di stringhe che uso all'interno di un for.
Ad ogni iterazione lo dovrei "allungare" mantenendo gli elementi precedenti e aggiungendone altri.
Come posso fare?
In casi come questi sarebbe più comodo usare una apposita "collection". Ma se come posso immaginare è un qualche esercizio da svolgere sugli array è chiaro che devi implementare tu il ridimensionamento.Originariamente inviato da devil89
Io ho un array di stringhe che uso all'interno di un for.
Ad ogni iterazione lo dovrei "allungare" mantenendo gli elementi precedenti e aggiungendone altri.
Come posso fare?
In tal caso, allochi un nuovo array:
String[] newArr = new String[oldArr.length + 1];
poi copi i vecchi elementi o con un banale ciclo for oppure con il metodo arraycopy() della classe System (guarda la documentazione, è molto semplice usarlo).
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
non è un esercizio sugli array. lol![]()
Io avevo pensato di fare così:
Cercavo una soluzione abbastanza ottimizzata. Ma cambiando il riferimento non mantiene gli elementi.codice:String[] temp = new String[old.length+newLen]; old = temp;
Devi copiare gli elementi prima di riassegnare il reference, l'ho spiegato sopra.Originariamente inviato da devil89
non mantiene gli elementi.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet