import java.util.*;
/**
* 20位的StringList 去除10到15位
*/
public class StringListTest{
public static void main(String[] args){
List<Integer> list = new ArrayList<Integer>();
for(int i=1;i<=20;i++){
list.add(i);
}
int fromIndex = 9;
int toIndex = 14;
List<Integer> subList = list.subList(fromIndex, toIndex);
list.removeAll(subList);
System.out.println(subList);
}
}
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.SubList.checkForComodification(AbstractList.java:752)
at java.util.SubList.listIterator(AbstractList.java:682)
at java.util.AbstractList.listIterator(AbstractList.java:284)
at java.util.SubList.iterator(AbstractList.java:678)
at java.util.AbstractCollection.contains(AbstractCollection.java:82)
at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
at com.Tongfu.StringListTest.main(StringListTest.java:64)爆了这么多错就是用sublist提取10~15的数字 然后removeAll ArrayList里就剩下了1-9 16-20的数字了
/**
* 20位的StringList 去除10到15位
*/
public class StringListTest{
public static void main(String[] args){
List<Integer> list = new ArrayList<Integer>();
for(int i=1;i<=20;i++){
list.add(i);
}
int fromIndex = 9;
int toIndex = 14;
List<Integer> subList = list.subList(fromIndex, toIndex);
list.removeAll(subList);
System.out.println(subList);
}
}
Exception in thread "main" java.util.ConcurrentModificationException
at java.util.SubList.checkForComodification(AbstractList.java:752)
at java.util.SubList.listIterator(AbstractList.java:682)
at java.util.AbstractList.listIterator(AbstractList.java:284)
at java.util.SubList.iterator(AbstractList.java:678)
at java.util.AbstractCollection.contains(AbstractCollection.java:82)
at java.util.AbstractCollection.removeAll(AbstractCollection.java:336)
at com.Tongfu.StringListTest.main(StringListTest.java:64)爆了这么多错就是用sublist提取10~15的数字 然后removeAll ArrayList里就剩下了1-9 16-20的数字了
List<Integer> subList = list.subList(0, 9);
subList.addAll(list.subList(15, 20));
removeAll实际上也是循环删除处在相应索引位置上的元素。
for (int i = 1; i <= 20; i++) {
list.add(i);
}
int fromIndex = 9;
int toIndex = 14;
List<Integer> subList = new ArrayList<Integer>(list.subList(fromIndex,
toIndex));
list.removeAll(subList);
System.out.println(list);
行了! 多谢各位大侠!!
new ArrayList那里错了!