在 JDK 21 中,Sequenced Collections 的引入带来了新的接口和方法来简化集合处理。此增强功能旨在解决访问 Java 中各种集合类型的第一个和最后一个元素需要非统一且麻烦处理场景。
下面一起通过本文来了解一下不同集合处理示例。
Sequenced Collections 接口
引入了三个新接口:
- SequencedCollection
- SequencedMap
- SequencedSet
这些接口附带了一些新方法,以提供改进的集合访问和操作功能。
第一个和最后一个元素的访问
在 JDK 21 之前,检索 Java 中集合的第一个和最后一个元素涉及不同的方法和途径,具体取决于集合类型。
下面让我们看一下使用 JDK 21 之前的 JDK API 调用访问第一个和最后一个元素的一些示例:
访问位置 | List | Deque | SortedSet |
第一个元素 | list.get(0) | deque.getFirst() | set.first() |
最后一个元素 | list.get(list.size()-1) | deque.getLast() | set.last() |
可以看到,一个简单的操作,在不同的集合中需要不同的编写方式,非常麻烦!
但在 JDK 21 之后,访问第一个和最后一个元素就方法多了:
对于 List
, Deque
, Set
这些有序的集合,访问方法变得统一起来:
- 第一个元素:
collection.getFirst()
- 最后一个元素:
collection.getLast()