Метод sequencedKeySet
Метод sequencedKeySet возвращает представление
всех ключей карты LinkedHashMap
в виде объекта SequencedSet. В отличие от обычного
keySet,
этот метод гарантирует сохранение порядка вставки элементов
и предоставляет дополнительные методы для работы
с последовательностями, такие как getFirst,
getLast, addFirst, addLast,
removeFirst и removeLast.
Метод не принимает параметров.
Возвращаемый набор является представлением карты, поэтому изменения в нём отражаются на самой карте, и наоборот.
Синтаксис
linkedHashMap.sequencedKeySet()
Пример
Давайте создадим LinkedHashMap
и получим её набор ключей через
sequencedKeySet:
import java.util.LinkedHashMap;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
SequencedSet<String> res = map.sequencedKeySet();
System.out.println(res);
}
}
Результат выполнения кода:
[a, b, c]
Пример
Давайте получим первый и последний ключи
из набора с помощью методов getFirst
и getLast:
import java.util.LinkedHashMap;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
SequencedSet<String> res = map.sequencedKeySet();
System.out.println(res.getFirst());
System.out.println(res.getLast());
}
}
Результат выполнения кода:
"a"
"c"
Пример
Давайте добавим новый ключ через метод
addLast и убедимся, что он появился
в исходной карте:
import java.util.LinkedHashMap;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
SequencedSet<String> res = map.sequencedKeySet();
res.addLast("c");
System.out.println(map);
}
}
Результат выполнения кода:
{a=1, b=2, c=null}
Пример
Давайте удалим первый ключ через метод
removeFirst и проверим состояние карты:
import java.util.LinkedHashMap;
import java.util.SequencedSet;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
SequencedSet<String> res = map.sequencedKeySet();
res.removeFirst();
System.out.println(map);
}
}
Результат выполнения кода:
{b=2, c=3}
Смотрите также
-
класс
LinkedHashMap,
который хранит пары ключ-значение в порядке вставки -
метод
keySet,
который возвращает обычный набор ключей карты -
интерфейс
SequencedMap,
который определяет работу с упорядоченными картами -
метод
get,
который возвращает значение по ключу