首页 > 代码库 > Collection集合的常用方法详解remove
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
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。