표준 List는 가변성과 공유 계약부터 구분한다

구현 이름보다 크기 변경·null·원본 공유·스냅숏 여부를 먼저 정합니다.

선택크기 변경핵심 계약
ArrayList가능일반 가변 목록
LinkedList가능양방향 Node·Deque
List.of불가null도 불가
Arrays.asList불가원본 배열 원소 공유
List.copyOf불가불변 스냅숏

핵심: 조회와 끝 추가 중심 목록은 ArrayList를 기본으로 두고 Deque 목적은 별도 인터페이스로 봅니다.