2012-08-09 9 views

Respuesta

11

Sí se puede utilizar el subList method:

List<...> list2 = list1.subList(startIndex, endIndex); 

Esto devuelve una vista en esa parte de la lista original, no copia los datos.
Si desea una copia:

List<...> list2 = new ArrayList<...> (list1.subList(startIndex, endIndex)); 
+0

Gracias Por lo tanto tonto de mi parte a hacerla. – user1583803

+1

Correcto, pero tenga en cuenta que las referencias a los objetos siguen siendo las mismas. Entonces, si cambia sus objetos en la sublista, también se cambiarán en la primera lista. – Chris

+0

@Chris sí, la segunda versión no es una copia profunda, solo copia las referencias de los objetos. – assylias

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)); 
Cuestiones relacionadas