Some of the operations in the collection interfaces are optional, meaning that the implementing class may choose not to provide a proper implementation of such an operation. In such a case, an UnsupportedOperationException is thrown when that operation is invoked.
Question is, how do I know which of the classes provide proper implementations of which operations? Thanks, Clement
Close but not 100% correct. Read the Javadoc for AbstractCollection and AbstractMap; that will give you a pretty idea of how the java.util classes are implemented. The class comments for AbstractMap in particular suggest some limitations in what might be implemented.