List subList(int fromIndex, int toIndex);

今天看到List<E> subList(int fromIndex, int toIndex);不知道用法特查看别人讲解,记录下以备往后查看。html

根据注释得知:java

1,该方法返回的是父list的一个视图,从fromIndex(包含),到toIndex(不包含)。fromIndex=toIndex 表示子list为空htm

2,父子list作的非结构性修改(non-structural changes)都会影响到彼此:所谓的“非结构性修改”,是指不涉及到list的大小改变的修改。相反,结构性修改,指改变了list大小的修改。blog

3,对于结构性修改,子list的全部操做都会反映到父list上。但父list的修改将会致使返回的子list失效。ip

4,tips:如何删除list中的某段数据:class

 

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));  
    }  
}运行结果falsetrue能够发现,list2为list的子list,当list2发生结构性修改(list2.add("b"))后,list也发生相应改变,因此返回结果为false和true注此类容来源:https://www.cnblogs.com/ljdblog/p/6251387.html
相关文章
相关标签/搜索