우리가 일반적으로 리스트라는 단어를 떠올리면 순서대로 적힌 목록을 떠올린다. 그것과 비슷한 개념의 interface라고 보면 되겠다.
List collection은 ordered collection이다. 삽입된 요소마다 index를 순차적으로 부여하며, 이 index를 통해 요소가 관리된다.
후에 알아볼 또 다른 collection인 Set과의 가장 큰 차이점은, List는 null을 허용한다는 점이다. 또한 null 또는 중복된 요소가 삽입될 수도 있다.
배열과 같이 zero-indexed 이다. 알아둘만한 점은 크기가 정해진 배열과 달리 값이 저장될 때 자동으로 capacity가 증가한다.
List 구현체에서 linear search를 하도록 설계되어 있는 경우가 많기 때문에 iteration을 수행할 때는 이런 점을 고려해서 수행해야 한다.
가장 대표적인 List 구현체로는 ArrayList와 Vector, LinkedList가 있다.
TL;DR
reference:
https://docs.oracle.com/javase/8/docs/api/java/util/List.html