Chapter 11. The SequencedCollection Interface
The interface SequencedCollection occupies a unique place in the design space of the Collections Framework. Rather than specifying the contract for a particular abstract data structure, it unifies behaviors exposed by a variety of preexisting types—List, NavigableSet, Deque, and LinkedHashSet—that are spread across the type hierarchy and mostly not otherwise related (see Figure 11-1).
Figure 11-1. Type hierarchy for SequencedCollection
What these collections have in common is that they all represent a sequence of elements whose order is semantically significant (they obey a total order, called in the JDK documentation the encounter order), whether the order is internally or externally imposed (see “Sequenced Collections”).
The Methods of SequencedCollection
It was Deque (see “Deque”) that introduced the set of methods that has now been generalized to all collections with an encounter order, providing the ability to add, inspect, and remove the first and last elements of the sequence. Some of these capabilities were previously available, unevenly and under different names, in these collections: for example, NavigableSet supported the removal of the first and last elements but not their inspection, while List directly supported only addition of a last element, all other operations requiring a sequence position to be specified. Table 12-1 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access