 <p>List is an interface. It (like Collection) defines optional operations. Optional operations are part of the interface (for consistency) but there is no guarantee that subtypes would actually support them (it kind of violates behavioral subtyping). In other words, not all actual implementations of lists have to support these operations, they just have to document whether they do.</p> <p>What actual list type are you using? ArrayList? LinkedList? A custom type?</p> <p>For the best of my knowledge ArrayList DOES support the set operation. I am not sure about LinkedList If you have a custom implementation, it may not support it unless you override the method.</p>