一、问题描述
如何删除 List 中的某个元素
二、解决
在删除list集合中的元素的时,
不应该使用普通的循环遍历再list.remove()的方式进行删除。(报异常java.util.ConcurrentModificationException)
应该使用迭代器的方式进行元素的删除。
(1)迭代器的方式 删除
/**
* 删除list中的指定元素
* @param obj 需要删除的元素
* @param list 原list
* @return 经过删除后的新list
*/
public static List delete(Object obj, List list) {
Iterator it = list.iterator();
while (it.hasNext()){
if (it.next()== obj){
it.remove();
}
}
return list;
}
(2)测试一下
public static void main(String[] args) {
List<Object> list = new ArrayList<>();
list.add("张飞");
list.add("刘备");
list.add("关羽");
System.out.println(list);
delete("刘备", list);
System.out.println(list);
}
(3)运行结果
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/117924.html