When and why does the method boolean java.util.List.remove(Object object) return false?
The documentation states
[The method ret
If the Object passed in is not actually in the list, it wouldn't take any effect on the list and therefore return false.
Edit (thanks Jai):
The method uses the specific Objects equals() method to determine if it contains that object. So, if you have custom objects make sure you override the equals() method, and also the hashCode() (to maintain the general contract between the methods).