Collection集合的常用方法详解remove
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Collection集合的常用方法详解remove相关的知识,希望对你有一定的参考价值。
import java.util.ArrayList; import java.util.Collection; import java.util.Iterator; /* * remove()和contains方法都需要集合中的元素重写equals方法。 * 因为Object中的equals方法比较内存地址,在现实中的业务逻辑中不能比较内存地址,该比较内容 * */ public class CollectionRemove { public static void main(String[] args) { Collection c =new ArrayList(); Integer i1 = new Integer(10); Integer i2 =new Integer(10); c.add(i1); c.remove(i2); System.out.println(c.size());//0 创建了i2,把i2内存地址指向了new Integer(10); Manager m1 = new Manager(100, "jack"); Manager m2 = new Manager(100, "jack"); c.remove(m2); System.out.println(c.size());//0 /* * 深入remove() * 迭代器的remove()方法 * 集合自身的remove()方法 * */ Collection b =new ArrayList(); b.add(10); b.add(11); b.add(12); Iterator i =b.iterator(); //通过迭代器本身的remove方法去删除(建议) while(i.hasNext()){ i.next(); i.remove(); } //java.util.ConcurrentModificationException //这种通过迭代器判断是否有下一个,然后调用集合本身发给方法去删除,当进行到第二次的时间,迭代器所代表的集合已经发生的变化!需要重新定义集合的迭代器 // while(i.hasNext()){ // Object o = i.next(); // b.remove(o); // } System.out.println(b.size());//0 } }
以上是关于Collection集合的常用方法详解remove的主要内容,如果未能解决你的问题,请参考以下文章