java arraylist 遍历找到元素并删除
时间: 2024-05-16 19:12:46 浏览: 102
可以使用 Iterator 迭代器来遍历 ArrayList,并且可以使用 remove() 方法来删除指定元素。
以下是示例代码:
```java
ArrayList<String> list = new ArrayList<String>();
list.add("A");
list.add("B");
list.add("C");
list.add("D");
Iterator<String> iter = list.iterator();
while (iter.hasNext()) {
String item = iter.next();
if (item.equals("B")) {
iter.remove();
}
}
System.out.println(list);
```
这段代码会输出以下结果:
```
[A, C, D]
```
其中,"B" 已经被成功删除了。注意,在遍历 ArrayList 时,不能使用普通的 for 循环,因为删除元素可能会导致下标变化,从而导致遍历出现问题。
相关问题
java list 遍历删除元素
在Java中,你可以使用多种方法遍历并删除List中的元素。以下是几种常见的方法:
1. 使用for循环顺序遍历删除:
```java
for(int i = 0, len = list.size(); i < len; i++){
if(list.get(i) == 1){
list.remove(i);
len--;
i--;
}
}
```
2. 使用for循环反向遍历删除:
```java
for(int i = size - 1; i >= 0; i--){
String item = list.get(i);
if(target.equals(item)){
list.remove(item);
}
}
```
3. 使用CopyOnWriteArrayList遍历删除:
```java
CopyOnWriteArrayList<String> cowList = new CopyOnWriteArrayList<String>(list);
for (String item : cowList) {
if (item.equals("1")) {
cowList.remove(item);
}
}
```
4. 使用Iterator迭代器删除:
```java
Iterator<Integer> iterator = list.iterator();
while(iterator.hasNext()){
int i = iterator.next();
if(i == 1){
iterator.remove();
}
}
```
5. 使用lambda表达式删除列表元素(推荐):
```java
list.removeIf(a -> "1".equals(a));
```
6. 使用方法引用删除列表元素:
```java
public static Boolean removeA(String s) {
return "a".equals(s);
}
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<>();
list.removeIf(AccountOperationController::removeA);
}
```
java arraylist迭代遍历
Java 中的 ArrayList 是一种可以动态改变大小的数组,可以使用索引进行访问和修改。可以使用 for 循环或者迭代器来遍历 ArrayList 中的元素。ArrayList 的迭代器支持修改操作,因此可以在迭代过程中添加、删除、修改元素。
阅读全文