From : Collections Framework
"the AbstractCollection class provides implementations for all the methods, except for the iterator() and size() methods, which are implemented in the appropriate subclass"
Could anyone make clear the reason why no default behavior for iterator() ? I could see why size () is not default from this question : Why does AbstractCollection not implement size()?