SequencedCollection<E> — 양끝 연산과 역방향 순회를 지원하는 순서 있는 컬렉션

SequencedCollection — 양끝 연산과 역방향 순회를 지원하는 순서 있는 컬렉션

매우 잘 정의된 마주침 순서(encounter order) 를 가지면서도 양쪽 끝에서 연산을 지원하고 역방향으로도 뒤집을 수 있는(reversible) 컬렉션을 나타내는 인터페이스예요. Java 21에서 도입된 순차 컬렉션 계열의 기반 타입으로, 요소를 첫 번째부터 마지막까지 선형으로 배치했다고 개념적으로 생각할 수 있어요.

출처: Java API Reference

본문

public interface SequencedCollection<E> extends Collection<E>

순차 컬렉션의 요소들은 마주침 순서를 가지며, 어떤 두 요소를 보더라도 한 요소는 다른 요소보다 앞(첫 요소에 가까움)에 있거나 뒤(마지막 요소에 가까움)에 있어요. 컬렉션의 iterator는 첫 요소부터 마지막 요소까지 순서대로 요소를 제공해요. 마주침 순서를 존중해야 하는 메서드로는 forEach, parallelStream, spliterator, stream, 그리고 모든 toArray 오버로드가 있어요.

이 인터페이스는 컬렉션의 양쪽 끝에서 요소를 추가·조회·제거하는 메서드를 제공해요.

reversed() 메서드

SequencedCollection<E> reversed()

이 컬렉션의 역방향 순서 뷰를 반환해요. 역방향 뷰에서는 첫 번째와 마지막의 개념이 서로 뒤바뀌고, successor(후속)와 predecessor(선행)의 개념도 뒤집혀요. 컬렉션의 마주침 순서를 존중하는 모든 메서드는 마치 순서가 뒤집힌 것처럼 동작해요. 이를 통해 컬렉션 요소를 정방향 또는 역방향으로 편리하게 순회, 검색, 복사, 스트리밍할 수 있어요.

양끝 요소 메서드

  • addFirst(E e) — 이 컬렉션의 첫 번째 요소로 요소를 추가해요 (선택 연산).
  • addLast(E e) — 이 컬렉션의 마지막 요소로 요소를 추가해요 (선택 연산).
  • getFirst() — 이 컬렉션의 첫 번째 요소를 가져와요.
  • getLast() — 이 컬렉션의 마지막 요소를 가져와요.
  • removeFirst() — 이 컬렉션의 첫 번째 요소를 제거하고 반환해요 (선택 연산).
  • removeLast() — 이 컬렉션의 마지막 요소를 제거하고 반환해요 (선택 연산).

이 인터페이스는 Java Collections Framework의 한 구성원이에요.

  • 도입 시점(Since): 21

더 알아보기 (Learn more)