ArrayList类中的subList方法使用注意

ArrayList数组表的subList()方法截取的是同内存一个片段,在截取后返回新的ArrayList数组表增加、删减、排序,都会对原数组表产生影响!


public class SubListTest {
public static void main(String[] args){
List list = new ArrayList();
list.add("hello");
list.add("world!");
list.add("String");
list.add("String1");
list.add("String2");
list.add("String3");
list.add("String4");
Iterator it = list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
System.out.println();
//输出为:hello world! String String1 String2 String3 String4 
List subList = list.subList(2, 5);
subList.add("String5");   //sublist添加新元素String5
it = list.iterator();
while(it.hasNext()){
System.out.print(it.next()+" ");
}
//输出为:hello world! String String1 String2 String5 String3 String4 

}




你可能感兴趣的:(ArrayList类中的subList方法使用注意)