java

layout: oop title: “15.9 순차 컬렉션” nav_order: 9 parent: “15. 컬렉션 자료구조” grand_parent: “Part 03. 라이브러리 활용” —

21.7 순차 컬렉션

자바 21은 순서가 있는 컬렉션을 묶고, 공통 API를 제공할 목적으로 순차 컬렉션(SequencedCollection), 순차 셋(SequencedSet), 순차 맵(SequencedMap) 인터페이스를 추가하고 기존 인터페이스의 상속 관계를 수정했다.

순차 컬렉션 (SequencedCollection)

SequencedCollection은 순서가 있는 List와 Set 컬렉션의 최상위 인터페이스이다. 다음과 같은 메소드가 선언되어 있다.

순차 Set (SequencedSet)

순서가 있으면서 요소의 중복 저장을 허용하지 않는 순차 Set 컬렉션은 SequencedCollection의 자식인 SequencedSet 인터페이스를 별도로 상속받는다. reversed() 메소드만 리턴 타입을 SequencedSet<E>로 변경해서 재정의했다.

주의할 점은 SortedSet을 구현한 TreeSet 클래스는 요소들을 비교한 후 위치가 결정되기 때문에 addFirst(), addLast() 메소드를 사용해서 직접 해당 위치에 요소를 저장할 수 없다. (예외 발생)

순차 Map (SequencedMap)

SequencedMap은 순서가 있는 Map 컬렉션의 최상위 인터페이스이다.

SortedMap을 구현한 TreeMapputFirst(), putLast() 메소드를 사용할 수 없다.

수정할 수 없는 순차 컬렉션

자바 21에서는 요소를 변경할 수 없도록 수정할 수 없는 순차 컬렉션을 만들기 위해 Collections 클래스에 다음 정적 메소드가 추가되었다.