Java list利用遍历进行删除操作3种方法解析

这篇文章主要介绍了Java list利用遍历进行删除操作3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

这篇文章主要介绍了Java list利用遍历进行删除操作3种方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

Java三种遍历如何进行list的便利删除

1、for循环:

常见初五写法:(由于下标问题达不到想要效果

for(int i=0;i

该改为:(倒序操作避免下标问题)

int size = list.size(); for(int i=size-1;i>=0;i--){ if(list.get(i).equals("del")) list.remove(i); }

2、增强for循环(foreach循环):

常见错误:(会抛出ConcurrentModificationException)

for(String x:list){ if(x.equals("del")) list.remove(x); }

应改为:

//cowlist为原list copyOnWriteArrayList list = new copyOnWriteArrayList(cowList); for(String x:list){ if(x.equals("del")) list.remove(x); }

3、iterator遍历:(注意要是用迭代器的remove方法,不能使用list的remove方法

Iterator it = list.iterator(); while(it.hasNext()){ String x = it.next(); if(x.equals("del")){ it.remove(); } }

最好使用Iterator遍历。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...