如何使用Iterator高效删除List中的多个元素?

2026-05-16 03:020阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计614个文字,预计阅读时间需要3分钟。

如何使用Iterator高效删除List中的多个元素?

今天在写代码时发现了一个很搞笑的错误,就是在删除List中的多个元素时犯了一个错误。高效的代码如下:

javapublic static void main(String[] args) { List a=new ArrayList(); a.add(1); a.add(2); a.add(3); a.add(4);}

今天在写代码时要删除List中的多个元素时犯了一个很搞笑的错误,等效的就是以下代码

public static void main(String[] args) { List<String> a = new ArrayList<String>(); a.add("1"); a.add("2"); a.add("3"); a.add("4"); a.add("5"); Iterator<String> iterator = a.iterator(); while(iterator.hasNext()){ if("1".equals(iterator.next()) || "2".equals(iterator.next())) iterator.remove(); } }

运行后发现只能删除“1”这个元素,“2”删除不掉,后来才发现判断的时候如果第一个条件不满足,iterator.next()这个方法又会执行一遍,相当于已经不再是当前的元素了,当时写的还特别顺溜。。。

阅读全文

本文共计614个文字,预计阅读时间需要3分钟。

如何使用Iterator高效删除List中的多个元素?

今天在写代码时发现了一个很搞笑的错误,就是在删除List中的多个元素时犯了一个错误。高效的代码如下:

javapublic static void main(String[] args) { List a=new ArrayList(); a.add(1); a.add(2); a.add(3); a.add(4);}

今天在写代码时要删除List中的多个元素时犯了一个很搞笑的错误,等效的就是以下代码

public static void main(String[] args) { List<String> a = new ArrayList<String>(); a.add("1"); a.add("2"); a.add("3"); a.add("4"); a.add("5"); Iterator<String> iterator = a.iterator(); while(iterator.hasNext()){ if("1".equals(iterator.next()) || "2".equals(iterator.next())) iterator.remove(); } }

运行后发现只能删除“1”这个元素,“2”删除不掉,后来才发现判断的时候如果第一个条件不满足,iterator.next()这个方法又会执行一遍,相当于已经不再是当前的元素了,当时写的还特别顺溜。。。

阅读全文