Day07_39_集合中的remove()方法 与 迭代器中的remove()方法

集合中的remove()方法 与 迭代器中的remove()方法

  • 深入remove()方法

      1. iterator 中的remove()方法
      1. collection 中的remove(Object)方法
  • 注意

    • 通过集合自身的remove()方法删除元素会报异常,因为通过集合中的remove()方法删除元素会改变集合的结构,那么迭代器就认为需要重新获取这个集合,所以会出现异常。

    • 推荐使用迭代器里的remove()方法,如果使用集合的remove()方法,删除元素后记得重新获取一个迭代器。

  • 代码实例

   package com.shige.Collection;

   import java.util.ArrayList;
import java.util.Collection;
import java.util.Iterator; public class CollectionMethod05 { public static void main(String[] args) {
//深入remove()方法 // 1.iterator 中的remove()方法
// 2.collection 中的remove()方法 // 创建集合
Collection collection= new ArrayList(); //父类引用指向子类对象 // 向集合中添加数据
collection.add(1); //自动装箱
collection.add(2);
collection.add(3); //创建迭代器
Iterator iterator= collection.iterator(); //遍历迭代器
while(iterator.hasNext()){
Object obj=iterator.next(); // 通过迭代器的remove()方法删除集合中的元素
iterator.remove(); // 往下移动一个元素就会删除一个元素,最后一个元素都没有了。 // 通过集合自身的remove()方法删除元素
collection.remove(obj); //会报错,因为通过集合中的remove()方法删除元素会改变集合的结构,那么迭代器就认为需要重新获取这个集合,所以会出现异常。
// 推荐使用迭代器张的remove()方法,如果使用集合的remove()方法,删除后记得重新获取一个迭代器。
} // 输出集合的size
System.out.println(collection.size()); //0 }
}
上一篇:Java容器---Collection接口中的共有方法


下一篇:Python远程连接模块-Telnet