표준 List 구현 선택 구현 선택표
표준 collection을 고를 때 구현 이름보다 계약을 먼저 고릅니다. 가변 여부, 순서, 중복, null, 스냅숏 여부를 정한 뒤 성능 특성으로 구현을 좁힙니다. LinkedList를 단순히 중간 삽입 표만 보고 고르는 선택은 피합니다.
| 질문 | 관찰 | 결정 |
|---|---|---|
| 기본 가변 목록인가 | 조회·끝 추가 중심 | ArrayList |
| 양끝 연산이 핵심인가 | Deque 사용 가능 | ArrayDeque 우선 검토 |
| 값을 고정할 것인가 | 변경 허용 여부 | List.copyOf |
| 배열과 공유해야 하는가 | 원본 반영 의도 | Arrays.asList 제한 확인 |
핵심: 표준 List 구현 선택의 결론은 ArrayList를 기본값으로 두고 계약과 측정으로 예외를 정하는 것입니다. 직접 구현에서 배운 size, capacity, Node, 경계는 표준 List의 동작을 예측하는 기반이 됩니다.