Esiste un metodo in Java per ottenere l'elenco di oggetti da un Arrayylist a un altro ArrayList, semplicemente specificando l'indice di inizio e di fine?Recupero di elemnts da un ArrayList specificando gli indici
5
A
risposta
11
Sì, è possibile utilizzare il subList
method:
List<...> list2 = list1.subList(startIndex, endIndex);
Ciò restituisce una vista su quella parte della lista originale, non copia i dati.
Se si desidera una copia:
List<...> list2 = new ArrayList<...> (list1.subList(startIndex, endIndex));
0
/create an ArrayList object
ArrayList arrayList = new ArrayList();
//Add elements to Arraylist
arrayList.add("1");
arrayList.add("2");
arrayList.add("3");
arrayList.add("4");
arrayList.add("5");
/*
To get a sub list of Java ArrayList use
List subList(int startIndex, int endIndex) method.
This method returns an object of type List containing elements from
startIndex to endIndex - 1.
*/
List lst = arrayList.subList(1,3);
//display elements of sub list.
System.out.println("Sub list contains : ");
for(int i=0; i< lst.size() ; i++)
System.out.println(lst.get(i));
Grazie Così stupido da parte mia chiedere esso. – user1583803
Esatto, ma attenzione che i riferimenti agli oggetti rimangono gli stessi. Quindi se cambi i tuoi oggetti nella sottocartella saranno anche cambiati nel primo elenco. – Chris
@Chris sì la seconda versione non è una copia profonda, copia solo i riferimenti degli oggetti. – assylias