English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Если в хэш-карте找不到 соответствие указанного ключа, то метод getOrDefault() Java HashMap возвращает указанное значение по умолчанию.
В противном случае,该方法 возвращает значение, соответствующее указанному ключу.
Синтаксис метода getOrDefault():
hashmap.get(Object key, V defaultValue)
key - Вернуть его отображениеЗначениеКлюч
defaultValue - Если找不到指定键的映射关系,则返回该默认值
Вернуть значение, связанное с указанным ключом
Если找不到指定键的映射,则返回指定的defaultValue
import java.util.HashMap; class Main { public static void main(String[] args) { //Создание HashMap HashMap<Integer, String> numbers = new HashMap<>(); //Вставка записи в HashMap numbers.put(1, "Java"); numbers.put(2, "Python"); numbers.put(3, "JavaScript"); System.out.println("HashMap: " + numbers); //Соответствие ключа существует в HashMap String value1 = numbers.getOrDefault(1, "Не найдено"); System.out.println("Значение ключа 1: " + value1); //Карта HashMap не содержит соответствия для данного ключа String value2 = numbers.getOrDefault(4, "Не найдено"); System.out.println("Значение ключа 4: " + value2); } }
Результат вывода
HashMap: {1=Java, 2=Python, 3=JavaScript} Значение ключа 1: Значение ключа 4: Not Found
В примере выше мы создали хэш-мапу под названием numbers. Обратите внимание на выражение
numbers.getOrDefault(1, "Not Found")
Здесь,
1 - Вернуть ключ с его маппингом значения
Not Found - Возвращает стандартную стоимость, если ключ не существует в хэш-мапе
Поскольку хэш-мапа содержит маппинг ключа 1. Поэтому, Java вернет это значение.
Но, обратите внимание на следующее выражение:
numbers.getOrDefault(4, "Not Found")
Здесь,
4 - Вернуть ключ с его маппингом значения
Not Found - Стандартная стоимость
Поскольку хэш-мапа не содержит никаких маппингов ключа 4. Поэтому, будет возвращена стандартная стоимость Not Found.
ВниманиеМы можем использоватьHashMap containsKey()Метод для проверки наличия определенного ключа в хэш-мапе.