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
There are two explanations here:
Historical: Collections class was created after List interface. Designers chose to preserve backward compatibility of already existing interface. Otherwise a lot of developers would have to change their code.
Logical: The methods you are talking about do not require internal knowledge on List implementation and can be implemented over ANY collection implementing it.