List subList(int fromIndex, int toIndex);


今天看到List<E> subList(int fromIndex, int toIndex);不知道用法特查看別人講解,記錄下以備日后查看。

根據注釋得知:

1,該方法返回的是父list的一個視圖,從fromIndex(包含),到toIndex(不包含)。fromIndex=toIndex 表示子list為空

2,父子list做的非結構性修改(non-structural changes)都會影響到彼此:所謂的“非結構性修改”,是指不涉及到list的大小改變的修改。相反,結構性修改,指改變了list大小的修改。

3,對於結構性修改,子list的所有操作都會反映到父list上。但父list的修改將會導致返回的子list失效。

4,tips:如何刪除list中的某段數據:

 

package ques;  
  
import java.util.ArrayList;  
import java.util.List;  
  
public class Ques0105 {  
  
    public static void main(String[] args) {  
        List<String> list = new ArrayList<String>();  
        list.add("a");  
  
        // 使用構造器創建一個包含list的列表list1  
        List<String> list1 = new ArrayList<String>(list);  
        // 使用subList生成與list相同的列表list2  
        List<String> list2 = list.subList(0, list.size());  
        list2.add("b");  
  
        System.out.println(list.equals(list1));  
        System.out.println(list.equals(list2));  
    }  
}
運行結果
false
true

可以發現,list2為list的子list,當list2發生結構性修改(list2.add("b"))后,list也發生相應改變,所以返回結果為false和true

注此類容來源:
https://www.cnblogs.com/ljdblog/p/6251387.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM