2012-08-09 25 views

Trả lời

11

Có bạn có thể sử dụng subList method:

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

này trả về một quan điểm trên là một phần của danh sách ban đầu, nó không sao chép dữ liệu.
Nếu bạn muốn có một bản sao:

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

Cảm ơn Vì vậy, ngớ ngẩn của tôi để hỏi nó. – user1583803

+1

Đúng vậy, nhưng lưu ý rằng các tham chiếu đến các đối tượng vẫn giữ nguyên. Vì vậy, nếu bạn thay đổi các đối tượng trong danh sách con, chúng cũng sẽ được thay đổi trong danh sách đầu tiên. – Chris

+0

@Chris có phiên bản thứ hai không phải là bản sao sâu, nó chỉ sao chép các tham chiếu của đối tượng. – 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)); 
Các vấn đề liên quan