From ca1cf088fa3ba92c75747400eeb503e347d834bc Mon Sep 17 00:00:00 2001
From: ovidiu-mihai98 <138307181+ovidiumihaitacu@users.noreply.github.com>
Date: Wed, 30 Aug 2023 19:58:17 +0300
Subject: [PATCH] [BAEL-6810] - Sequenced Collections in Java 21
---
core-java-modules/core-java-21/README.md | 1 +
core-java-modules/core-java-21/pom.xml | 34 +++++++++++++++++++
.../collections/SequencedCollection.java | 15 ++++++++
.../sequenced/collections/SequencedMap.java | 18 ++++++++++
.../sequenced/collections/SequencedSet.java | 7 ++++
5 files changed, 75 insertions(+)
create mode 100644 core-java-modules/core-java-21/README.md
create mode 100644 core-java-modules/core-java-21/pom.xml
create mode 100644 core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedCollection.java
create mode 100644 core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedMap.java
create mode 100644 core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedSet.java
diff --git a/core-java-modules/core-java-21/README.md b/core-java-modules/core-java-21/README.md
new file mode 100644
index 0000000000..c63f3b360b
--- /dev/null
+++ b/core-java-modules/core-java-21/README.md
@@ -0,0 +1 @@
+## Relevant Articles
\ No newline at end of file
diff --git a/core-java-modules/core-java-21/pom.xml b/core-java-modules/core-java-21/pom.xml
new file mode 100644
index 0000000000..83b2b1c858
--- /dev/null
+++ b/core-java-modules/core-java-21/pom.xml
@@ -0,0 +1,34 @@
+
+
+ 4.0.0
+ core-java-21
+ core-java-21
+
+
+ com.baeldung.core-java-modules
+ core-java-modules
+ 0.0.1-SNAPSHOT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedCollection.java b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedCollection.java
new file mode 100644
index 0000000000..58f5dbd014
--- /dev/null
+++ b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedCollection.java
@@ -0,0 +1,15 @@
+package com.baeldung.sequenced.collections;
+
+/*
+interface SequencedCollection extends Collection {
+ // new method
+ SequencedCollection reversed();
+ // methods promoted from Deque
+ void addFirst(E);
+ void addLast(E);
+ E getFirst();
+ E getLast();
+ E removeFirst();
+ E removeLast();
+}
+ */
diff --git a/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedMap.java b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedMap.java
new file mode 100644
index 0000000000..925449a090
--- /dev/null
+++ b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedMap.java
@@ -0,0 +1,18 @@
+package com.baeldung.sequenced.collections;
+
+/*
+interface SequencedMap extends Map {
+ // new methods
+ SequencedMap reversed();
+ SequencedSet sequencedKeySet();
+ SequencedCollection sequencedValues();
+ SequencedSet> sequencedEntrySet();
+ V putFirst(K, V);
+ V putLast(K, V);
+ // methods promoted from NavigableMap
+ Entry firstEntry();
+ Entry lastEntry();
+ Entry pollFirstEntry();
+ Entry pollLastEntry();
+}
+ */
\ No newline at end of file
diff --git a/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedSet.java b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedSet.java
new file mode 100644
index 0000000000..a8fb4caa1f
--- /dev/null
+++ b/core-java-modules/core-java-21/src/main/java/com/baeldung/sequenced/collections/SequencedSet.java
@@ -0,0 +1,7 @@
+package com.baeldung.sequenced.collections;
+
+/*
+interface SequencedSet extends Set, SequencedCollection {
+ SequencedSet reversed(); // covariant override
+}
+ */