前言
JDK21
引入了新的集合接口族 Sequenced 集合(JEP 431),提供了对集合在两端的操作,它提供了一种有序的集合实现
集合操作
SequencedCollection使用
其接口方法为

ini
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);
}
}
输出结果为

ini
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);
}
}
输出结果为

SequencedSet使用
其接口为

SequencedSet
不能作用于HashSet
ini
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
ini
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);
}
}
输出结果为

总结
Sequenced Collections是Java中的一个新特性,它提供了一种有序的集合实现,其具有高效性能、可扩展性等优点,在使用新版本的JDK时,可以使用,但是根据个人习惯进行技术选取就好