我是靠谱客的博主 合适手机,最近开发中收集的这篇文章主要介绍如何边遍历集合边删除元素--使用Iterator中的remove()方法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在遍历集合时,想将符合条件的某些元素删除,开始是用了下面的方法

	public static void main(String[] args) throws UnsupportedEncodingException {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("bbc");
list.add("cbc");
Iterator<String> it = list.iterator();
while(it.hasNext()){
String str = it.next();
System.out.println(str);
if(str.equals("abc")){
list.remove(str);
}
}
}

结果报下面的异常

Exception in thread "main" java.util.ConcurrentModificationException
    at java.util.AbstractList$Itr.checkForComodification(Unknown Source)
    at java.util.AbstractList$Itr.next(Unknown Source)
    at junit.Test.main(Test.java:23)

查了下,原来java中的集合边遍历边删除是需要使用迭代器中的方法的,改为下面

	public static void main(String[] args) throws UnsupportedEncodingException {
List<String> list = new ArrayList<String>();
list.add("abc");
list.add("bbc");
list.add("cbc");
Iterator<String> it = list.iterator();
while(it.hasNext()){
String str = it.next();
System.out.println(str);
if(str.equals("abc")){
it.remove();
}
}
}
问题解决

最后

以上就是合适手机为你收集整理的如何边遍历集合边删除元素--使用Iterator中的remove()方法的全部内容,希望文章能够帮你解决如何边遍历集合边删除元素--使用Iterator中的remove()方法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部