English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Метод containsKey() класса Java HashMap проверяет наличиеMapping для указанного ключа в хэш-мапе.
Синтаксис метода containsKey():
hashmap.containsKey(Object key)
key - Проверка наличияMapping ключа в хэш-мапе
Если в хэш-мапе существуетMapping для указанного ключа, то возвращается true
Если в хэш-мапе отсутствуетMapping для указанного ключа, то возвращается false
import java.util.HashMap; class Main { public static void main(String[] args){ // Создание HashMap HashMap<String, String> details = new HashMap<>(); // Добавить маппинг в HashMap details.put("Name", "w3codebox"); details.put("Domain", "oldtoolbag.com"); details.put("Location", "Nepal"); System.out.println("Подробности w3codebox: \n" + details); // Проверка существования ключа Domain if(details.containsKey("Domain")) { System.out.println("Domain существует в Hashmap"); } } }
результат вывода
Подробности w3codebox: {Domain=oldtoolbag.com, Name=w3codebox, Location=Nepal} Domain существует в Hashmap
В примере выше мы создали хэш-маппинг. Обратите внимание на эти выражения:
details.containsKey("Domain") // вернет true
Здесь hashmap содержит карту с ключом Domain. Поэтому выполняется блок if, метод containsKey() вернет true и выполнит предложение.
import java.util.HashMap; class Main { public static void main(String[] args){ // Создать HashMap HashMap<String, String> countries = new HashMap<>(); // Добавить маппинг в HashMap countries.put("USA", "Washington"); countries.put("Australia", "Canberra"); System.out.println("HashMap:\n" + countries); // Проверка существования ключа Spain if(!countries.containsKey("Spain")) { // Если ключ не существует, добавить запись countries.put("Spain", "Madrid"); } System.out.println("Обновленный HashMap:\n" + countries); } }
результат вывода
HashMap: {USA=Washington, Australia=Canberra} Обновленный HashMap: {USA=Washington, Australia=Canberra, Spain=Madrid}
В上面的 примере, обратите внимание на следующее выражение:
if(!countries.containsKey("Spain")) {..}
Здесь, мы используем метод containsKey() для проверки наличия маппинга Spain в хэш-мапе. Из-за использования отрицательного знака (!), если该方法 возвращает false, то выполняется блок if.
Поэтому, новый маппинг добавляется только в том случае, если в HashMap нет указанного ключа.
Внимание:мы также можем использоватьHashMap putIfAbsent()выполнение одинаковых задач.