我是靠谱客的博主 清爽眼神,最近开发中收集的这篇文章主要介绍ArrayList一边遍历一边删除?给大家介绍几种方法1、首先是倒序遍历,因为我们删除后面的并不影响前面的2、正序遍历删除,每删一个给下标减一3、使用list的removeIf()方法删除[推荐做法]4、使用Iterator删除,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

文章目录

  • 1、首先是倒序遍历,因为我们删除后面的并不影响前面的
  • 2、正序遍历删除,每删一个给下标减一
  • 3、使用list的removeIf()方法删除[推荐做法]
  • 4、使用Iterator删除

在这里我就不展示错误的方式了。

下面都假设我们要删除ArrayList中模2等于0的数

1、首先是倒序遍历,因为我们删除后面的并不影响前面的

public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(1);
list.add(6);
list.add(5);
for (int i = list.size() - 1; i >= 0; i--) {
if (list.get(i) % 2 == 0) {
list.remove(i);
}
}
System.out.println(list);
}
}

2、正序遍历删除,每删一个给下标减一

public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(1);
list.add(6);
list.add(5);
for (int i = 0; i < list.size(); i++) {
if (list.get(i) % 2 == 0) {
list.remove(i);
i = i - 1;
}
}
System.out.println(list);
}
}

3、使用list的removeIf()方法删除[推荐做法]

public class Main {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(1);
list.add(6);
list.add(5);
list.removeIf(i -> i
% 2 == 0);
System.out.println(list);
}
}

4、使用Iterator删除

public class HelloWorld {
public static void main(String[] args) {
List<Integer> list = new ArrayList<>();
list.add(2);
list.add(3);
list.add(1);
list.add(6);
list.add(5);
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
if (iterator.next() % 2 == 0) {
iterator.remove();
}
}
System.out.println(list);
}
}

最后

以上就是清爽眼神为你收集整理的ArrayList一边遍历一边删除?给大家介绍几种方法1、首先是倒序遍历,因为我们删除后面的并不影响前面的2、正序遍历删除,每删一个给下标减一3、使用list的removeIf()方法删除[推荐做法]4、使用Iterator删除的全部内容,希望文章能够帮你解决ArrayList一边遍历一边删除?给大家介绍几种方法1、首先是倒序遍历,因为我们删除后面的并不影响前面的2、正序遍历删除,每删一个给下标减一3、使用list的removeIf()方法删除[推荐做法]4、使用Iterator删除所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(64)

评论列表共有 0 条评论

立即
投稿
返回
顶部