There is already a hint in your question.
- You mention "Depends on implementation". All you mentioned are the interfaces and the question is very abstract. Which one to choose over the rest depends on your particular use case.
- For example, the
List
implementationsLinkedList
andArrayList
differ in their behaviour when considered their usage for frequent modification, random access etc. - Similarly, for
Map
there are differences between their behaviour. Here is link for their performance comparison. - Searching in
TreeMap/Set
will always be faster as the entities are already sorted. So it all depends on what you need. Based on that select the appropriate implementation.