集合中的subList

来源:互联网 发布:魔兽争霸3 mac 编辑:程序博客网 时间:2024/05/18 02:52

List firstList = new ArrayList();
firstList.add(1);firstList.add(2);
List secondList = new ArrayList(firstList);
List thirdList = firstList.subList(0, firstList.size());
firstList.add(4);
System.out.println(firstList.equals(secondList));
System.out.println(firstList.equals(thirdList));
System.out.println(“firstList”+firstList.size()+ “\nsecondList”+secondList.size()+”\nthirdList”+thirdList.size());
result:
false
Exception in thread “main” java.util.ConcurrentModificationExceptionat java.util.ArrayListSubList.checkForComodification(UnknownSource)atjava.util.ArrayListSubList.listIterator(Unknown Source)at java.util.AbstractList.listIterator(Unknown Source)at java.util.AbstractList.equals(Unknown Source)at test.jijesoft.java.A.main(A.java:50)

List firstList = new ArrayList();
firstList.add(1);firstList.add(2);
List secondList = new ArrayList(firstList);
List thirdList = firstList.subList(0, firstList.size());t
hirdList.add(4);
System.out.println(firstList.equals(secondList));
System.out.println(firstList.equals(thirdList));
System.out.println(“firstList”+firstList.size()+ “\nsecondList”+secondList.size()+”\nthirdList”+thirdList.size());
result:
false
true
firstList3
secondList2
thirdList3

Brief description:List一旦使用了subList,不要轻易在去操作原来的List

参考来源:http://blog.csdn.net/chenssy/article/details/44102915