ArrayList怎么循环查找并删除
时间: 2024-03-06 12:51:33 浏览: 61
你可以使用for循环遍历ArrayList,并且在删除元素时使用Iterator的remove方法来删除元素,这样可以避免ConcurrentModificationException异常的发生。示例代码如下:
```
ArrayList<String> list = new ArrayList<>();
//添加元素
list.add("A");
list.add("B");
list.add("C");
list.add("D");
//遍历并删除元素
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String item = iterator.next();
if (item.equals("B")) {
iterator.remove();
}
}
//输出剩余元素
for (String s : list) {
System.out.println(s);
}
```
在这个例子中,我们首先往ArrayList中添加了4个元素,然后使用Iterator遍历ArrayList,并在找到需要删除的元素时使用Iterator的remove方法进行删除。最后输出剩余的元素,可以看到删除成功并且不会报错。
相关问题
ArrayList怎么循环查找并删除防止报错
你可以使用for循环从后往前遍历ArrayList,并且在删除元素时使用Iterator的remove方法来删除元素,这样可以避免ConcurrentModificationException异常的发生。
示例代码如下:
```
ArrayList<String> list = new ArrayList<>();
//添加元素
list.add("A");
list.add("B");
list.add("C");
list.add("D");
//从后往前遍历并删除元素
for (int i = list.size() - 1; i>=0; i--) {
if (list.get(i).equals("B")) {
list.remove(i);
}
}
//输出剩余元素
for (String s : list) {
System.out.println(s);
}
```
在这个例子中,我们首先往ArrayList中添加了4个元素,然后从后往前遍历ArrayList,并在找到需要删除的元素时使用Iterator的remove方法进行删除。最后输出剩余的元素,可以看到删除成功并且不会报错。
java arraylist存储子类对象,查找删除
如果您想在Java中使用ArrayList存储子类对象,并且需要对其进行查找和删除操作,您可以使用以下步骤:
1. 定义一个ArrayList对象,用于存储子类对象,例如:
```
ArrayList<Animal> animalList = new ArrayList<Animal>();
```
2. 将子类对象添加到ArrayList中,例如:
```
animalList.add(new Dog("Tommy", 2));
animalList.add(new Cat("Kitty", 3));
```
3. 查找子类对象,可以使用循环遍历ArrayList,例如:
```
for (Animal animal : animalList) {
if (animal.getName().equals("Tommy")) {
// 找到了名字为Tommy的Dog对象,进行相应处理
}
}
```
4. 删除子类对象,可以使用remove方法,例如:
```
animalList.remove(new Cat("Kitty", 3));
```
注意:在进行删除操作时,必须确保要删除的子类对象已经存在于ArrayList中,否则删除操作将无效。此外,如果您想要进行更高效的查找操作,可以考虑使用HashMap等数据结构。
阅读全文