我们要删除ArrayList集合中的元素有2种方法:
#1,普通for循环
#2,迭代器删除
下面通过代码来演示一下:
package com.lianxi2;
import java.util.ArrayList;
public class Demo1 {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.add("a");
list.add("b");
list.add("b");
list.add("c");
list.add("d");
// 1,普通for循环删除,索引要--
/*
* for(int i = 0; i < list.size(); i++) { if("b".equals(list.get(i))) {
* list.remove(i--); //通过索引删除元素 } }
*/
// 2,迭代器删除
/*
* Iterator<String> it = list.iterator(); while(it.hasNext()) {
* if("b".equals(it.next())) {
* //list.remove("b");
* //不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常 it.remove(); } }
*/
/*
* for(Iterator<String> it2 = list.iterator(); it2.hasNext();) {
* if("b".equals(it2.next())) { //list.remove("b");
* //不能用集合的删除方法,因为迭代过程中如果集合修改会出现并发修改异常 it2.remove(); } }
*/
// 3,增强for循环,增强for循环不能删除,只能遍历
for (String string : list) {
if ("b".equals(string)) {
list.remove("b");
}
}
System.out.println(list);
}
}
本文介绍在Java中使用ArrayList集合时,如何通过两种方法删除指定元素:一是使用普通for循环配合索引;二是利用迭代器进行删除操作。文章通过具体代码示例展示了不同删除方式的特点及其注意事项。
1633

被折叠的 条评论
为什么被折叠?



