在JDK 21中,Sequenced Collections的引入带来了新的接口和方法来简化集合处理。此增强功能旨在解决访问Java中各种集合类型的第一个和最后一个元素需要非统一且麻烦处理场景。
下面一起通过本文来了解一下不同集合处理示例。
DD正在更新Java新特性专栏,欢迎关注、收藏、转发。传送门:https://www.didispace.com/java-features/
Sequenced Collections接口
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()
这里给大家推荐下我们自研的Youtube视频语音转换插件(https://youtube-dubbing.com/)