Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    riallocare array di stringhe

    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?

  2. #2
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284

    Re: riallocare array di stringhe

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

    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.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

  3. #3
    non è un esercizio sugli array. lol
    Io avevo pensato di fare così:
    codice:
    String[] temp = new String[old.length+newLen];
    old = temp;
    Cercavo una soluzione abbastanza ottimizzata. Ma cambiando il riferimento non mantiene gli elementi.

  4. #4
    Utente di HTML.it L'avatar di andbin
    Registrato dal
    Jan 2006
    residenza
    Italy
    Messaggi
    18,284
    Originariamente inviato da devil89
    non mantiene gli elementi.
    Devi copiare gli elementi prima di riassegnare il reference, l'ho spiegato sopra.
    Andrea, andbin.devSenior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
    java.util.function Interfaces Cheat SheetJava Versions Cheat Sheet

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.