In the implementation of the LinkedList class of the standard Java library, the problem described in Exercise
Question:
In the implementation of the LinkedList class of the standard Java library, the problem described in Exercise •• R16.10 and Exercise ••• R16.12 results in a ConcurrentModification Exception. Describe how the LinkedList class and the iterator classes can discover that a list was modified through multiple sources. Hint: Count mutating operations. Where are the counts stored? Where are they updated? Where are they checked?
Data from exercise R16.10 It is not safe to remove the first element of a linked list with the removeFirst method when an iterator has just traversed the first element. Explain the problem by tracing the code and drawing a diagram.
Data from exercise R16.12 It is not safe to simultaneously modify a linked list using two iterators. Find a situation where two iterators refer to the same linked list, and when you add an element with one iterator and remove an element with the other, the result is incorrect.
Explain the problem by tracing the code and drawing a diagram.
Step by Step Answer: