배열은 생성할 때 크기가 고정되기 때문에 이후에 크기를 변경하려면 새 배열을 생성해야 한다. 반면, List는 요소를 추가하거나 제거할 때 자동으로 크기가 조정되므로 데이터의 수를 정확히 알 수 없을 때 유용하다.
List 인터페이스는 다양한 구현 클래스를 제공하므로 용도에 따라 적절히 선택해 사용할 수 있다. 예를 들어 요소의 인덱스 접근이 많은 경우 ArrayList를, 삽입/삭제가 잦은 경우 LinkedList를 사용한다.
요소 추가, 삭제, 검색 등에 대한 다양한 메서드를 제공하기 때문에 편리하게 데이터를 다룰 수 있다.
정렬, 필터링, 매핑 등 컬렉션 프레임워크가 이미 만들어 놓은 다양한 기능들을 편리하게 이용할 수 있다.
많은 API의 메서드 return 타입에서 배열 대신 List 타입을 사용하기 때문에 그 활용성이 높다.
List 간단 활용법 정리는 여기