English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Если указанный ключ не出现过 в HashMap, метод Java HashMap putIfAbsent() вставляет指定的 ключ/значение в HashMap.
Синтаксис putIfAbsent() метода:
hashmap.putIfAbsent(K key, V value)
У putIfAbsent() есть два параметра.
key - Указанное значение связано с key
value - Значение связано с ключом
Если указанный ключ уже существует в хэше, то возвращается значение, связанное с ключом.
Если указанный ключ не существует в хэш-мапе, то возвращается null
Внимание: Если ранее было установлено значение null, то возвращается значение null.
import java.util.HashMap; class Main { public static void main(String[] args){ // создать HashMap HashMap<Integer, String> languages = new HashMap<>(); // добавить карты в HashMap languages.put(1, "Python"); languages.put(2, "C"); languages.put(3, "Java"); System.out.println("Языки: " + languages); //ключ не находится в HashMap languages.putIfAbsent(4, "JavaScript"); //ключ出现在HashMap languages.putIfAbsent(2, "Swift"); System.out.println("Обновленные Языки: " + languages); } }
Результат вывода
Languages: {1=Python, 2=C, 3=Java} Обновленный Languages: {1=Python, 2=C, 3=Java, 4=JavaScript}
В предыдущем примере мы создали хэш-карту с именем languages. Внимание на эту строку:
languages.putIfAbsent(4, "JavaScript");
Здесь ключ 4 еще не связан с любым значением. Поэтому метод putIfAbsent() добавит карту {4 = JavaScript} в хэш-карту.
Внимание на эту строку:
languages.putIfAbsent(2, "Swift");
Здесь ключ 2 уже связан с значением Java. Поэтому метод putIfAbsent() не добавит карту {2 = Swift} в хэш-карту.
ВниманиеМы использовали метод put() для добавления отдельной карты в хэш-карту. Для получения дополнительной информации обратитесь вJava HashMap put().