Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Справочник Java

Map.of()

Создаёт неизменяемый словарь из пар «ключ — значение».

Доступно с: Java 9

Синтаксис

static <K, V> Map<K, V> of(K k1, V v1, K k2, V v2, ...)

Параметры

ПараметрТипОписание
k1, v1, ...K, VПары «ключ, значение», не больше 10 пар; ключи не повторяются, `null` запрещён.

Возвращаемое значение

Map<K, V>Неизменяемый словарь.

Примеры

Небольшой справочник цен:

void main() {
    Map<String, Integer> prices = Map.of("tea", 3, "coffee", 4);
    IO.println(prices.get("coffee"));
    IO.println(prices.containsKey("juice"));
}

Результат:

4
false

Больше десяти пар — через Map.ofEntries():

void main() {
    Map<Integer, String> codes = Map.ofEntries(
        Map.entry(200, "OK"),
        Map.entry(404, "Not Found"),
        Map.entry(500, "Server Error")
    );
    IO.println(codes.get(404));
}

Результат:

Not Found

Примечания

Порядок обхода Map.of() не определён и меняется между запусками — для печати по порядку используйте TreeMap или LinkedHashMap. Изменения бросают UnsupportedOperationException, повтор ключа — IllegalArgumentException. Изменяемая копия: new HashMap<>(Map.of(...)).

См. также

  • HashMap — Словарь на основе хеш-таблицы: быстрый поиск по ключу, порядок не гарантирован.
  • Map.Entry — Одна пара «ключ — значение» словаря.
  • List.of() — Создаёт неизменяемый список из перечисленных элементов.
  • Set.of() — Создаёт неизменяемое множество из перечисленных элементов.

Вопросы и ответы по теме

В учебнике

  • Словари: Map и HashMap — Словари Map в Java: пары ключ — значение, put и get, getOrDefault, подсчёт с merge, TreeMap и LinkedHashMap.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.