HashMap (или HashTable) — это структура данных, которая обеспечивает быстрый доступ к данным с помощью пар ключ-значение. Класс Java HashMap расширяет АннотацияКарта class и реализует интерфейс Map, который дает ему доступ ко многим операциям. HashMap имеет два параметра типа — K и V, где K хранит ключи, а V хранит значения в каждом HashMap.

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

Создание хэш-карты Java

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

импортЯва.util.HashMap;
публичныйучебный классГлавный{
публичныйстатическийпустотаглавный(строка [] аргументы){
//создание HashMap
HashMap<Целое, Строка> FruitMap = новая HashMap<Целое, Строка>();
}
}

Java-класс выше использует конструктор HashMap по умолчанию для создания структуры данных, называемой

instagram viewer
фруктыКарта. Объект FruitMap будет хранить данные, имеющие целочисленный ключ и строковое значение. Однако, поскольку класс HashMap реализует интерфейс Map, он может хранить нулевое значение либо в ключевом поле, либо в поле значения, либо в обоих полях.

Хранение данных в HashMap

Вы можете выполнять несколько операций с помощью класса HashMap. поставить (клавиша K, значение V) метод является одним из самых популярных и позволяет хранить данные с помощью пары ключ-значение, где каждый ключ соответствует значению.

импортЯва.util.HashMap;
публичныйучебный классГлавный{
публичныйстатическийпустотаглавный(строка [] аргументы){
//создание HashMap
HashMap<Целое, Строка> FruitMap = новая HashMap<Целое, Строка>();
//добавляем элементы в HashMap
фруктыMap.put (3,"Груша");
фруктыMap.put (6,"манго");
фруктыMap.put (7,"слива");
фруктыMap.put (4,"Яблоко");
фруктыMap.put (1,"Апельсин");
фруктыMap.put (5,"Ягоды");
фруктыMap.put (2,"Дыня");
}
}

Обновленный класс, приведенный выше, использует метод put() для добавления нескольких фруктов и их ключей в существующую структуру данных FruitMap. Важно отметить, что приведенный выше код добавляет данные на карту случайным образом. Эта деталь станет полезной, когда вы начнете читать данные из HashMap.

Чтение данных из HashMap

Существует несколько способов чтения данных из HashMap. Используемый метод будет зависеть от того, как вы хотите, чтобы данные выглядели, или даже от типа данных, которые вы хотите получить.

Получить объект HashMap

Если вы хотите получить данные в виде объекта, вы можете просто получить доступ к объекту HashMap, которым в приведенном ниже примере является FruitMap.

//Просмотр всех элементов как объекта
Система.вне.println(фруктыКарта);

Добавление приведенной выше строки кода в класс Main выводит в консоли следующий вывод:

{1=Апельсин, 2=Дыня, 3=Груша, 4=Яблоко, 5=Ягоды, 6=Манго, 7=Слива}

Хотя каждое значение было добавлено в HashMap случайным образом, из вывода вы увидите, что HashMap хранит значения в порядке возрастания на основе ключа, назначенного каждому значению. Это функция, которая ставит HashMaps впереди других структур данных, таких как Структура данных массива которые поддерживают только линейное хранилище.

Получить все данные по отдельности

Если вы хотите получить все данные по отдельности, вы можете использовать за метод, который позволяет вам проходить через HashMap и печатать каждое значение и соответствующий ему ключ. Этот метод использует интерфейс Map, который реализует класс HashMap.

// просмотреть все элементы с помощью итератора 
для (ХэшКарта. Вход<Целое, Строка> фрукты: fruitMap.entrySet())
{
Система.out.println("Ключ: " + фрукты.getKey() + " Ценность: " + фрукты.getValue());
}

Добавление вышеуказанного метода в ваш код приведет к выводу в консоли следующего вывода:

Ключ: 1 Значение: оранжевый
Ключ: 2 Значение: Дыня
Ключ: 3 Значение: груша
Ключ: 4 Значение: яблоко
Ключ: 5 Значение: ягоды
Ключ: 6 Значение: Манго
Ключ: 7 Значение: Слива

Получить конкретное значение

Класс HashMap имеет получить() метод, который принимает ключ и возвращает значение, сопоставленное с этим ключом.

//получить один элемент
Система.вне.println(фруктыКарта.получить(4));

Строка кода выше выводит в консоль следующий вывод:

Яблоко

Обновление данных в HashMap

После создания и заполнения объекта HashMap вы можете использовать заменять() метод для обновления любого элемента на карте. Метод replace() принимает два или три аргумента. Первый метод replace() принимает ключ, связанный с существующим элементом, вместе с новым значением, которое вы хотите сопоставить с ним.

// заменить один элемент
фруктыMap.replace (4, "Виноград");
Система.вне.Распечатать(фруктыКарта);

Выполнение приведенного выше кода выводит в консоль следующий объект:

{1=Апельсин, 2=Дыня, 3=Груша, 4=Виноград, 5=Ягоды, 6=Манго, 7=Слива}

Как вы можете видеть из объекта выше, «Виноград» сопоставляется с 4, который ранее сопоставлялся с «Яблоком».

Второй метод replace() принимает ключ, связанный с существующим элементом, существующим элементом и значением замены.

// заменить один элемент
фруктыMap.replace (4, "Яблоко", "Виноград");
Система.вне.Распечатать(фруктыКарта);

Приведенный выше код выводит в консоль следующий объект:

{1=Апельсин, 2=Дыня, 3=Груша, 4=Виноград, 5=Ягоды, 6=Манго, 7=Слива}

Удаление данных из HashMap

Вы можете либо удалить определенный элемент из своей HashMap, используя удалять() метод или удалить все данные с помощью Чисто() метод. Метод remove() принимает один или два аргумента. Первый метод удаления принимает ключ, связанный со значением, которое вы хотите удалить:

//удаляем один элемент
фруктыКарта.удалять(5);
Система.вне.println(фруктыКарта);

Приведенный выше код выводит в консоль следующий объект:

{1=Апельсин, 2=Дыня, 3=Груша, 4=Яблоко, 6=Манго, 7=Слива}

Обновленный объект показывает, что элемент с парой ключ-значение 5 и «Ягоды» больше не является частью FruitMap. Второй метод remove() принимает ключ и значение, на которое он сопоставляется.

//удаляем один элемент
фруктыMap.remove (5, "Ягоды");
Система.вне.println(фруктыКарта);

Приведенный выше код также выводит в консоль следующий объект:

{1=Апельсин, 2=Дыня, 3=Груша, 4=Яблоко, 6=Манго, 7=Слива}

Метод clear() не принимает аргументов и возвращает значение void.

фруктыКарта.Чисто();
Система.вне.println(фруктыКарта);

Выполнение приведенного выше кода выводит в консоль следующий пустой объект:

{}

Теперь вы можете выполнять операции CRUD на Java HashMap

HashMaps — одна из нескольких популярных структур данных, которые вам необходимо знать. В этой статье рассказывается, как выполнять операции CRUD с Java HashMaps. HashMap — очень полезная структура данных, ее главное преимущество в том, что она является одной из самых эффективных структур данных из-за скорости доступа. Тем не менее, он также очень удобен в использовании, так как позволяет произвольное хранение.