Интерфейс SequencedSet
Интерфейс SequencedSet расширяет интерфейс Set и добавляет
возможность работы с порядком элементов. В отличие от обычного множества,
SequencedSet гарантирует, что элементы имеют определенную
последовательность, и позволяет получать первый и последний элементы,
а также создавать перевернутое представление множества.
Основные методы интерфейса включают addFirst для добавления
элемента в начало, addLast для добавления в конец,
getFirst и getLast для получения первого и последнего
элементов соответственно, а также removeFirst и removeLast
для удаления элементов с обоих концов. Метод reversed возвращает
перевернутое представление множества.
Синтаксис
public interface SequencedSet<E> extends Set<E>, SequencedCollection<E>
Пример
Давайте создадим SequencedSet на основе LinkedHashSet
и добавим элементы в начало и конец:
import java.util.LinkedHashSet;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
SequencedSet<String> set = new LinkedHashSet<>();
set.add("b");
set.add("c");
set.addFirst("a");
set.addLast("d");
System.out.println(set);
}
}
Результат выполнения кода:
[a, b, c, d]
Пример
Давайте получим первый и последний элементы множества, а также удалим их:
import java.util.LinkedHashSet;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
SequencedSet<String> set = new LinkedHashSet<>();
set.add("a");
set.add("b");
set.add("c");
String first = set.getFirst();
String last = set.getLast();
System.out.println("First: " + first);
System.out.println("Last: " + last);
}
}
Результат выполнения кода:
"First: a"
"Last: c"
Пример
Давайте удалим первый и последний элементы и выведем перевернутое представление множества:
import java.util.LinkedHashSet;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
SequencedSet<String> set = new LinkedHashSet<>();
set.add("a");
set.add("b");
set.add("c");
set.add("d");
set.removeFirst();
set.removeLast();
System.out.println(set);
System.out.println(set.reversed());
}
}
Результат выполнения кода:
[b, c]
[c, b]
Смотрите также
-
интерфейс
Set,
который представляет собой множество -
класс
LinkedHashSet,
который сохраняет порядок добавления элементов -
класс
TreeSet,
который хранит элементы в отсортированном порядке -
метод
add,
который добавляет элемент во множество