List<Integer> list = new ArrayList<Integer>();
list.add(1);
list.add(2);
list.add(2);
list.add(3);
list.add(4);
list.add(4);
list.add(1);
// 方法一 通过迭代器实现
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
int a = iterator.next();
// if(删除元素条件)
if (a == 1) {
iterator.remove();
}
}
// 方法二 for循环 i++
for (int i = 0; i < list.size(); i++) {
// if(删除元素条件)
if (list.get(i) == 2) {
list.remove(i);
i--; // 这行是为了返回到删除前的索引位置,否则会跳过删除元素后面的元素
}
}
// 方法三 for循环 i--
for (int i = list.size() - 1; i >= 0; i--) {
// if(删除元素条件)
if (list.get(i) == 2) {
list.remove(i);
}
}
// foreach方法删除元素,会报错。但是如果删除的元素位于倒数第二个则会正常运行,这是一个坑,勿踩!
// 具体原因,自行查看源码
最后
以上就是自觉春天最近收集整理的关于ArrayList删除符合条件的元素的全部内容,更多相关ArrayList删除符合条件内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复