概述
前言
这是一个比较经典的面试题,相信也会有不少人遇到,今天就在此记录一下,写了两种方式供大家参考。
方式一
在for循环中删除元素,倒序遍历ArrayList能够有效防止漏删,这里大家可能会有疑问了?假设按照从0到size-1下标来删那么如果有相邻的两个元素是一样的,删除了第一个,此时数组长度会-1并且所有元素往前移动一位,那么第二个就移动到第一个元素的位置了,此时控值for循环的下标i已经+1了等于直接就跳过了第二个重复元素,倒叙就不会出现此类情况了。
List<String> strs = new ArrayList<>();
strs.add("1")
strs.add("2")
strs.add("3")
strs.add("4")
strs.add("5")
strs.add("6")
for (int i = strs.size() - 1; i >= 0; i --) {
if(strs.get(i).equals("1")){
strs.remove(i);
}
}
方式二
使用迭代器遍历ArrayList并删除某一个元素
List<String> strs = new ArrayList<>();
strs.add("1")
strs.add("2")
strs.add("3")
strs.add("4")
strs.add("5")
strs.add("6")
Iterator<String> iter = strs.iterator();
while(iter.hasNext()) {
if (iter.next().toString().equals("1")) {
iter.remove();
}
}
System.out.println(strs);
最后
以上就是心灵美狗为你收集整理的遍历ArrayList并移除一个元素前言的全部内容,希望文章能够帮你解决遍历ArrayList并移除一个元素前言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复