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

    Copiare un arrayList<String> dentro un'altro

    Ciao a tutti dovrei copiare un arrayList di stringhe dentro un altro.
    ad esempio se ho
    A = [cane, gatto]
    B = [tigre, leone,lepre]

    vorrei copiare b in a e quindi ottenere
    A = [tigre, leone, lepre]
    sembra una cosa banale...ma ho provato tanto e non riesco qualche idea per favor??

  2. #2
    Cancella il contenuto dell'ArrayList con il metodo clear() e poi copia in A il contenuto di B usando il metodo addAll(ArrayList da_inserire)

    Leggendo la reference su ArrayList l'avresti capito da solo.

    http://download.oracle.com/javase/1....ArrayList.html

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2007
    Messaggi
    23
    Ciao scusa intuisco che non stai parlando di c++, è giusto? Per correttezza è prassi inserire tra [] il linguaggio discusso nel titolo...

  4. #4
    Moderatore di Programmazione L'avatar di LeleFT
    Registrato dal
    Jun 2003
    Messaggi
    17,315

    Moderazione

    Come espressamente richiesto dal Regolamento interno, il linguaggio usato va espressamente indicato nel titolo.

    Inoltre, visto che a quanto pare stai parlando di Java, c'è un forum dedicato.

    Sposto la discussione e correggo il titolo.


    Ciao.
    "Perchè spendere anche solo 5 dollari per un S.O., quando posso averne uno gratis e spendere quei 5 dollari per 5 bottiglie di birra?" [Jon "maddog" Hall]
    Fatti non foste a viver come bruti, ma per seguir virtute e canoscenza

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56
    Ciao LèMomò,

    se vuoi conservare B ti consiglio di utilizzare i metodi di Collections, ad esempio copy() andrebbe bene.
    Collections.copy(List<? super T> dest, List<? extends T> src);

    Se no ti serve avere B, A = B , quindi A puntara dove prima puntaba B.

    Spero ti sia utile.

  6. #6
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da retorno
    Se no ti serve avere B, A = B , quindi A puntara dove prima puntaba B.
    Ma in questo modo se poi viene usato B per fare delle operazioni, le modifiche vengono viste anche da A (visto che A e B fanno riferimento allo stesso oggetto)
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  7. #7
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56
    Si, infatti con A = B tutte e due variabili puntano sullo stesso oggetto.

    Ma non capisco cosa vuoi fare perché parti di un presupposto sbagliato, un array di rango superiore non si può copiare in uno di rango inferiore (B ha 3 elementi e A ne ha 2).
    Ti consiglio di utilizzare un ArrayList direttamente o fare una conversione con Arrays.asList();

    String[] a = {"cane", "gatto"};
    String[] b = {"tigre", "leone", "lepre"};

    List<String> listaA = new ArrayList<String>();
    listaA.addAll(Arrays.asList(b));

    System.out.println(listaA);

    ciao

  8. #8
    Utente di HTML.it L'avatar di Alex'87
    Registrato dal
    Aug 2001
    residenza
    Verona
    Messaggi
    5,802
    Originariamente inviato da retorno
    Ma non capisco cosa vuoi fare perché parti di un presupposto sbagliato, un array di rango superiore non si può copiare in uno di rango inferiore (B ha 3 elementi e A ne ha 2).
    Infatti lui sta usando ArrayList:
    Originariamente inviato da LèMomò
    Ciao a tutti dovrei copiare un arrayList di stringhe dentro un altro.
    SpringSource Certified Spring Professional | Pivotal Certified Enterprise Integration Specialist
    Di questo libro e degli altri (blog personale di recensioni libri) | ​NO M.P. TECNICI

  9. #9
    Utente di HTML.it
    Registrato dal
    Apr 2004
    Messaggi
    56
    Uhhh excuse me!!
    ho fatto un mix con un altro post... ehem sono un pò raffreddat
    lolide ha ragione.

    A.clear();
    A.addAll(B);

    copy non funzionarebbe in questo caso.

    ciao

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.