Iterator.remove()
is safe, you can use it like
this:
List<String> list =
new ArrayList<>
();
// This is a clever way to create the iterator and call iterator.hasNext() like
// you would do in a while-loop. It would be the same as doing:
// Iterator<String> iterator = list.iterator();
// while (iterator.hasNext()) {
for (Iterator<String> iterator =
list.iterator(); iterator.hasNext();) {
String string =
iterator.next();
if (
string.isEmpty()) {
// Remove the current element from the iterator and the list.
iterator.remove();
}
}
Note that Iterator.remove is the only safe way to modify a collection during iteration; the behavior
is unspecified
if the underlying collection
is modified
in any other way
while the iteration
is in progress
转载于:https://www.cnblogs.com/programerlrc/p/5620024.html