Type List vs type ArrayList in Java [duplicate]

This question already has answers here: What does it mean to “program to an interface”? (32 answers) Closed 2 years ago. (1) List<?> myList = new ArrayList<?>(); (2) ArrayList<?> myList = new ArrayList<?>(); I understand that with (1), implementations of the List interface can be swapped. It seems that (1) is typically used in an … Read more

Type List vs type ArrayList in Java

Almost always List is preferred over ArrayList because, for instance, List can be translated into a LinkedList without affecting the rest of the codebase. If one used ArrayList instead of List, it’s hard to change the ArrayList implementation into a LinkedList one because ArrayList specific methods have been used in the codebase that would also require restructuring. You can read about the List implementations here. You may start with an ArrayList, but soon after discover that … Read more