迭代器java删除数据_你还在使用迭代器删除集合数据,out了,Java 中函数removeIf 不香么...
时间: 2024-02-05 15:13:00 浏览: 74
java删除数组或是集合中重复的数据
是的,使用迭代器删除集合数据的操作可能会引起ConcurrentModificationException异常。而Java 8引入了函数式接口Predicate和removeIf方法,可以更方便地删除集合中的元素。使用removeIf方法可以避免ConcurrentModificationException异常,并且代码更加简洁易懂。例如:
```
List<String> list = new ArrayList<>();
list.add("apple");
list.add("banana");
list.add("orange");
// 使用迭代器删除元素
Iterator<String> iterator = list.iterator();
while (iterator.hasNext()) {
String str = iterator.next();
if (str.equals("banana")) {
iterator.remove();
}
}
// 使用removeIf方法删除元素
list.removeIf(str -> str.equals("banana"));
```
可以看到,使用removeIf方法可以一行代码完成删除操作,代码也更加简洁易懂。
阅读全文