For all the methods in Collections that take a List as their first argument, why aren\'t those methods simply part of the List interface?
My intuition is: given a List
They are utility methods and not core List functionality. The List interface would just get bloated if you added every possible operation you could do on a List. And the operations in Collections do not need to know about the internals of a List, they operate on the public interface so can happily live in an external class.