Non riesco a modificare l'elenco originale.Aggiungi elenco alla fine di un altro elenco (non solo riferimenti di copia)
Ecco come ho visto fare:
List<String> l1 = new ArrayList<String>();
l1.add("Hello");
l1.add("World");
List<String> l2 = new ArrayList<String>(l1); //A new arrayList.
l2.add("Everybody");
Quindi io ora avrebbe un nuovo elenco, che è una copia del primo. E posso modificare il secondo senza che il primo sia cambiato.
E ora ho difficoltà a capire come fare lo stesso, ma aggiungendo gli elementi alla fine dell'elenco.
Ciò che pensavo stesse facendo esattamente il codice precedente e aggiungendo l'elenco a un altro elenco. Ad esempio con addAll
. Ma vedo dappertutto come questo copia solo i riferimenti e così via, quindi se è all'interno di un metodo o il suo codice rmi la lista stessa non sarebbe completa, otterrebbe riferimenti all'altra lista che ho appena creato.
Dal momento che ho bisogno di fare questo per molti tipi di lista non sono sicuro se andare voce per articolo è l'ideale. Quindi ho bisogno di aggiungere una lista alla fine di un'altra lista, se possibile.
Quali articoli si desidera aggiungere a quale fine di quale elenco? Gli elenchi di oggetti contengono sempre solo riferimenti, quindi puoi copiare solo i riferimenti da un elenco a un altro, se usi il costruttore o l'adall per quello non importa – LionC
Copia i riferimenti degli elementi che vengono aggiunti, non dell'elenco. E questo vale anche per il metodo che hai mostrato (con la 'nuova ArrayList (l1)'). –
RealSkeptic
La copia di riferimenti a classi immutabili non dovrebbe essere un problema. 'String's sono immutabili. – fabian