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(...)).
См. также
Вопросы и ответы по теме
В учебнике
- Словари: Map и HashMap — Словари Map в Java: пары ключ — значение, put и get, getOrDefault, подсчёт с merge, TreeMap и LinkedHashMap.