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

网友投稿 505 2022-12-17


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

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

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

1、for循环:

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

for(int i=0;i

if(list.get(i).ehttp://quals("del"))

list.remove(i);

}

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

int size = list.size();

for(int i=size-1;i>=0;i--){

if(list.get(i).equals("del"))

list.remozJQILqjve(i);

}

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

常见错误:(会抛出Concurrehttp://ntModificationException)

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遍历。

if(list.get(i).ehttp://quals("del"))

list.remove(i);

}

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

int size = list.size();

for(int i=size-1;i>=0;i--){

if(list.get(i).equals("del"))

list.remozJQILqjve(i);

}

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

常见错误:(会抛出Concurrehttp://ntModificationException)

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遍历。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java通过反射创建对象并调用方法
下一篇:Java获取配置文件的值过程解析
相关文章

 发表评论

暂时没有评论,来抢沙发吧~