표준 List 구현 선택 구현 선택표

표준 collection을 고를 때 구현 이름보다 계약을 먼저 고릅니다. 가변 여부, 순서, 중복, null, 스냅숏 여부를 정한 뒤 성능 특성으로 구현을 좁힙니다. LinkedList를 단순히 중간 삽입 표만 보고 고르는 선택은 피합니다.

질문관찰결정
기본 가변 목록인가조회·끝 추가 중심ArrayList
양끝 연산이 핵심인가Deque 사용 가능ArrayDeque 우선 검토
값을 고정할 것인가변경 허용 여부List.copyOf
배열과 공유해야 하는가원본 반영 의도Arrays.asList 제한 확인

핵심: 표준 List 구현 선택의 결론은 ArrayList를 기본값으로 두고 계약과 측정으로 예외를 정하는 것입니다. 직접 구현에서 배운 size, capacity, Node, 경계는 표준 List의 동작을 예측하는 기반이 됩니다.