java 循环删除元素需要注意什么?
时间: 2023-02-06 15:34:09 浏览: 46
java中循环删除list中元素的方法总结
5星 · 资源好评率100%
在 Java 中,如果你想要在循环中删除集合中的元素,你需要注意以下几点:
1. 不能在 foreach 循环中删除元素。如果你想在循环中删除元素,可以使用迭代器。
2. 使用迭代器删除元素时,一定要在调用迭代器的 next() 方法之后,再调用 remove() 方法。
3. 如果你想在循环中修改集合的大小,你应该使用 List 接口的子类,因为它们提供了 remove() 方法。
4. 如果你想在循环中删除 Map 中的元素,你可以使用 Iterator 和 Map.Entry 来实现。
例如:
```
List<Integer> list = new ArrayList<>(Arrays.asList(1, 2, 3, 4));
Iterator<Integer> iterator = list.iterator();
while (iterator.hasNext()) {
Integer num = iterator.next();
if (num % 2 == 0) {
iterator.remove();
}
}
System.out.println(list); // 输出 [1, 3]
```
```
Map<String, String> map = new HashMap<>();
map.put("A", "Apple");
map.put("B", "Banana");
map.put("C", "Carrot");
Iterator<Map.Entry<String, String>> iterator = map.entrySet().iterator();
while (iterator.hasNext()) {
Map.Entry<String, String> entry = iterator.next();
if (entry.getKey().equals("B")) {
iterator.remove();
}
}
System.out.println(map); // 输出 {A=Apple, C=Carrot}
```
阅读全文