HashMap в Java

⚡ Умное резюме

HashMap в Java Он хранит данные в виде уникальных пар ключ-значение, которые можно быстро получить, используя ключ. Он хранит ссылки на объекты, а не примитивы, поэтому используются классы-обертки, и предлагает такие методы, как put, get, remove и containsKey.

  • 🗝️ Определение HashMap: Хранит уникальные ключи, сопоставленные со значениями, для быстрого поиска по ключу.
  • 📦 Ссылки на объекты: Содержит только объекты, поэтому используйте классы-обертки, такие как Integer, вместо примитивных типов.
  • 🔧 Основные методы: Метод put() сохраняет пару, метод get() извлекает значение, метод remove() удаляет по ключу.
  • 🔍 Поиск: Функции containsKey(), keySet(), values() и isEmpty() проверяют содержимое карты.
  • 🧪 Примеры: Примеры программ: создают карту, выводят её на экран и удаляют запись по ключу.

HashMap в Java

Что такое Hashmap Java?

HashMap в основном обозначает уникальные ключи соответствующему ценности которые можно получить в любой момент.

HashMap в Java

Особенности Java Хэш-карта

а) ценности можно сохранить на карте, сформировав ключ-значение пара. Значение можно получить с помощью ключа, передав его правильному методу.

б) Если нет элемента существует на карте, он выдаст 'NoSuchElementException'.

в) Только магазины HashMap ссылки на объекты. Именно поэтому невозможно использовать примитивные типы данных как double или int. Используйте класс-оболочку (например, Integer или Double) вместо

Особенности Java Хэш-карта

Использование HashMaps в Java Программы:

Ниже приведены два способа объявления хэш-карты:

HashMap<String, Object> map = new HashMap<String, Object>();
HashMap x  = new HashMap();

Важные методы хэш-карты

  • получить (КЛЮЧ объекта) – Это вернет значение, связанное с указанным ключом в этом Java хеш-карта.
  • put (объект KEY, строковое значение) – Этот метод сохраняет указанное значение и связывает его с указанным ключом в этой карте.

Java Пример хеш-карты

Ниже приведен пример реализации Java Hash Map:

import java.util.HashMap;
import java.util.Map;
public class Sample_TestMaps{
  public static void main(String[] args){
    Map<String, String> objMap = new HashMap<String, String>();
    objMap.put("Name", "Suzuki");
    objMap.put("Power", "220");
    objMap.put("Type", "2-wheeler");
    objMap.put("Price", "85000");
    System.out.println("Elements of the Map:");
    System.out.println(objMap);
  }
}

Выход:

Elements of the Map:
{Type=2-wheeler, Price=85000, Power=220, Name=Suzuki}

Пример: удаление значения из HashMap на основе ключа

import java.util.*;
public class HashMapExample {
   public static void main(String args[]) {
   // create and populate hash map
   HashMap<Integer, String> map = new HashMap<Integer, String>();
   map.put(1,"Java");
   map.put(2, "Python");
   map.put(3, "PHP");
   map.put(4, "SQL");
   map.put(5, "C++");
   System.out.println("Tutorial in Guru99: "+ map);
   // Remove value of key 5
   map.remove(5);
   System.out.println("Tutorial in Guru99 After Remove: "+ map);
   }
}

Выход:

Tutorial in Guru99: {1=Java, 2=Python, 3=PHP, 4=SQL, 5=C++}
Tutorial in Guru99 After Remove: {1=Java, 2=Python, 3=PHP, 4=SQL}

Давайте зададим несколько запросов самой хеш-карте, чтобы узнать ее получше.

Вопрос: Итак, г-н Hash Map, как я могу узнать, назначен ли вам определенный ключ?

О: Отлично, вы можете использовать со мной метод containsKey(Object KEY), он вернет логическое значение, если у меня есть значение для данного ключа.

В: Как мне найти все доступные ключи, которые присутствуют на Карте?

О: У меня есть метод под названием набор ключей(), который вернет все ключи на карте. В приведенном выше примере, если вы напишете строку как –
System.out.println(objMap.keySet());

Он вернет выходной в виде-
[Имя, Тип, Мощность, Цена]

Аналогично, если вам нужны только все значения, у меня есть метод ценности().
System.out.println(objMap.values());

Он вернет выходной в виде-
[Сузуки, 2-колесный, 220, 85000]

Вопрос: Предположим, мне нужно удалить с Карты только определенный ключ, нужно ли мне удалить всю Карту?

А: Нет, приятель!! У меня есть метод удаление(Object KEY), который удалит только эту конкретную пару ключ-значение.

Вопрос: Как мы можем проверить, действительно ли вы содержите какие-либо пары ключ-значение?

A: Просто проверьте, пустой я или нет!! Короче говоря, используйте пусто() метод против меня..

Часто задаваемые вопросы (FAQ)

HashMap не синхронизирован и допускает один нулевой ключ и несколько нулевых значений, что делает его быстрее при однопоточном использовании. Hashtable синхронизирован и не допускает нулевых ключей или значений, что делает его потокобезопасным, но более медленным.

Да. HashMap допускает ровно один нулевой ключ и любое количество нулевых значений. Попытка добавить второй нулевой ключ просто перезапишет значение, связанное с существующим нулевым ключом.

Нет. HashMap не гарантирует какой-либо порядок своих ключей. Если вам нужен порядок вставки, используйте LinkedHashMap, а если вам нужен сортированный порядок по ключу, используйте TreeMap.

Искусственный интеллект может анализировать шаблоны доступа, такие как поиск, порядок выполнения и потребности в параллельном доступе, а затем рекомендовать HashMap, TreeMap, LinkedHashMap или ConcurrentHashMap.ping Разработчики выбирают наиболее эффективную коллекцию для решения своей задачи.

Да. Анализ с помощью ИИ может выявить общий HashMap, к которому обращаются несколько потоков без синхронизации, и рекомендовать использование ConcurrentHashMap или внешней блокировки для предотвращения состояний гонки и повреждения данных.

Подведем итог этой публикации следующим образом: