java - 使用迭代器从 ArrayList 中删除元素
问题描述
我已经使用迭代器从 Arraylist 中删除了元素。但是在删除大小后不会减小,并且 Arraylist 中的值保持不变。我使用 ArrayList 作为类级变量。不知道为什么它不起作用。下面是我的代码,
public class MyClass{
private ArrayList<String> valueArrayList;
Iterator itr = valueArrayList.iterator();
while (itr.hasNext())
if (validateFile((String) itr.next())) {
Log.d(LOG_TAG, "values removed");
} else
itr.remove();
}
解决方案
应该是
Iterator<String> itr = valueArrayList.iterator();
while (itr.hasNext()) {
// If file doesn't exist
if (!validateFile(itr.next())) {
itr.remove(); // delete from list
Log.d(LOG_TAG, "values removed");
}
}
推荐阅读
- asp.net-mvc - 登录 AspNetCore 托管/重定向控制台输出
- mysql - MySql,如果没有返回行,则返回默认值
- python - Psycopg2:在 Dash 应用程序中使用外部变量进行查询
- aggregate - 在 Tableau 中将聚合字段转换为非聚合字段
- c# - 使用 Microsoft 帐户在 UWP 应用上单点登录未按预期工作
- java - 比较两个列表对象,但某些对象参数为 nul
- postgresql - 在没有表级锁定的postgresql中添加具有默认值的列
- c++ - eclipse mars 找不到 cpp17 包括
- sql - 用sql查询计算平均值
- angular - 从 HTTP Observable 响应中获取单个属性