public static void main(String[] args) {
ArrayList list=new ArrayList();
list.add("abc-0");
list.add("abc-1");
list.add("abc-2");
list.add("adb-3");
System.out.println("刪除前集合的长度"+list.size());
for(int x=0;x<list.size();x++){
String str=(String)list.get(x);
if(str.startsWith("abc")){
list.remove(x);
}
}
System.out.println("集合元素"+list);
System.out.println("删除后集合的长度:"+list.size());
}结果:
刪除前集合的长度4
集合元素[abc-1, adb-3]
删除后集合的长度:2
解释:就是当你把集合中的元素删除后,集合会重新排列,就是把没有删除前的第二个元素(索引是1)移动到了现在的第一个位置(索引是0),
但是此时现在的第x=0,下次就是1了,所以现在的第一个元素(索引是0),就是删除前的第二个元素(索引是1)就没有删除。
希望能我的解释你能明白。对你有帮助!
|