English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Основной учебник Java

Java Управление потоком

Java Массив

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Список (List)

Java Queue (очередь)

Java Map коллекция

Java Set коллекция

Java Вход/вывод (I/O)

Java Reader/Writer

Другие темы Java

Метод Java HashMap putIfAbsent() использование и пример

Java методы HashMap

Если указанный ключ не出现过 в HashMap, метод Java HashMap putIfAbsent() вставляет指定的 ключ/значение в HashMap.

Синтаксис putIfAbsent() метода:

hashmap.putIfAbsent(K key, V value)

Параметры putIfAbsent()

У putIfAbsent() есть два параметра.

  • key - Указанное значение связано с key

  • value - Значение связано с ключом

Возвратное значение putAbsent()

  •  Если указанный ключ уже существует в хэше, то возвращается значение, связанное с ключом.

  • Если указанный ключ не существует в хэш-мапе, то возвращается null

Внимание: Если ранее было установлено значение null, то возвращается значение null.

Пример1:Java HashMap putIfAbsent()

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().

Java методы HashMap