subList()方法
- subList()在文档中的描述
List subList(int fromIndex,int toIndex)
返回列表中指定的fromIndex(包括)和toIndex(不包括)的部分视图。返回的列表由此列表支持,因此返回列表中的非结构性更改(结构性更改是涉及到List大小的更改)将反映在此列表中,反之亦然。返回的列表支持此列表支持的所有可选列表操作。 - 注意事项
在使用subList()方法后,不能对原来的列表进行结构项更改,否则会抛出ConcurrentModificationException异常,以下代码展示的就是这种情形。
package subList的使用;
import java.util.*;
public class Main {
public static void testSubList() {
ArrayList<Integer> list = new ArrayList<>();
for(int i=0;i<5;i++) {
list.add(i);
}
List subList = list.subList(0, list.size());
System.out.println("集合"+Arrays.toString(list.toArray()));
System.out.println("before"+Arrays.toString(subList.toArray()));
list.add(5);
System.out.println("after"+Arrays.toString(subList.toArray()));
}
public static void main(String[] args) {
testSubList();
}
}
运行结果如下: