Machine-translated by Google. Questions are authored in English.
Top

Discussion

Which one of the following statements about what happens when a HashMap is structurally modified during a for-each over its keySet is true?

  • A.The iterator throws ConcurrentModificationException on its next step.
  • B.The loop silently skips the affected entry and continues.
  • C.The modification is deferred until the loop ends.
  • D.The loop restarts from the beginning with the updated contents.

Answer: A

A for-each is an iterator underneath, and the view's iterator is fail-fast, so a put or a remove through the map invalidates it. Removing through the iterator is the supported route, and adding requires collecting the changes and applying them after the loop.

No comment is present. Be the first to comment.
Loading…

Post your comment

Please log in or register to post a comment.