JDK21中Sequenced Collections(序列集合)的實現(xiàn)
前言
JDK21引入了新的集合接口族 Sequenced 集合(JEP 431),提供了對集合在兩端的操作,它提供了一種有序的集合實現(xiàn)
集合操作
SequencedCollection使用
其接口方法為

public class SequencedCollectionDemo {
public static void main(String[] args) {
SequencedCollection<Integer> coll = new ArrayList<>();
coll.add(3);
coll.addFirst(1);
coll.addLast(2);
System.out.println(coll);
System.out.println(coll.getFirst());
System.out.println(coll.getLast());
SequencedCollection<Integer> reversed = coll.reversed();
System.out.println(reversed);
}
}
輸出結(jié)果為

public class SequencedArrayDemo {
public static void main(String[] args) {
SequencedCollection<Integer> coll = new ArrayDeque<>();
coll.addFirst(1);
coll.addLast(2);
System.out.println(coll.getFirst());
System.out.println(coll.getLast());
SequencedCollection<Integer> reversed = coll.reversed();
System.out.println(reversed);
}
}
輸出結(jié)果為

SequencedSet使用
其接口為

SequencedSet不能作用于HashSet
public class SequencedSetDemo {
public static void main(String[] args) {
SequencedSet<Integer> coll = new LinkedHashSet<>();
coll.add(3);
coll.addFirst(1);
coll.addLast(2);
System.out.println(coll);
System.out.println(coll.getFirst());
System.out.println(coll.getLast());
SequencedCollection<Integer> reversed = coll.reversed();
}
}
SequencedMap使用
SequencedMap不能作用于HashMap
public class SequencedMapDemo {
public static void main(String[] args) {
SequencedMap<Integer, Integer> coll = new LinkedHashMap<>();
coll.put(1, 1);
coll.putFirst(2, 2);
coll.putLast(3, 3);
System.out.println(coll);
System.out.println(coll.firstEntry());
System.out.println(coll.lastEntry());
SequencedMap<Integer, Integer> reversed = coll.reversed();
System.out.println(reversed);
}
}
輸出結(jié)果為

總結(jié)
Sequenced Collections是Java中的一個新特性,它提供了一種有序的集合實現(xiàn),其具有高效性能、可擴展性等優(yōu)點,在使用新版本的JDK時,可以使用,但是根據(jù)個人習慣進行技術(shù)選取就好
到此這篇關(guān)于JDK21中Sequenced Collections(序列集合)的實現(xiàn)的文章就介紹到這了,更多相關(guān)JDK21 Sequenced Collections內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳解MyBatis-Puls中saveBatch批量添加慢的問題
本文主要介紹了詳解MyBatis-Puls中saveBatch批量添加慢的問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-01-01
spring boot tomcat版本升級的實現(xiàn)示例
本文主要介紹了spring boot tomcat版本升級的實現(xiàn)示例,將tomcat升級一個小版本升級到9.0.44版本,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2024-11-11
Java Spring使用hutool的HttpRequest發(fā)送請求的幾種方式
文章介紹了Hutool庫中用于發(fā)送HTTP請求的工具,包括添加依賴、發(fā)送GET和POST請求的方法,以及GET請求的不同參數(shù)傳遞方式,感興趣的朋友跟隨小編一起看看吧2024-11-11

