Arrays.asList view와 ArrayList 복사본

원본 배열 변경과 구조 변경이 어느 쪽에 반영되는지 비교한다.

Arrays.asList

set과 원본 원소를 공유하고 add는 실패한다

고정 크기 view

new ArrayList(view)

독립 저장소라 add·remove·sort가 가능하다

가변 copy
불변 snapshotList.copyOf는 이후 원본 구조 변경을 반영하지 않는다

핵심: List 타입이 같아도 변경·공유 계약은 생성 API에 따라 다르다.