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

HashMap ви позволява да картографирате ключове към конкретна стойност и да съхранявате елементи в произволен ред. В тази статия ще научите как да използвате класа HashMap на Java за съхраняване, извличане, актуализиране и изтриване на данни.

Създаване на Java HashMap

Класът Java HashMap има четири конструктора. Конструкторът по подразбиране е най-популярният, той ви позволява да създадете празна HashMap, която ще има капацитет по подразбиране 16.

импортиранеjava.util.HashMap;
публиченкласОсновен{
публиченстатиченневалиденосновен(Низ [] аргументи){
//създаване на HashMap
HashMap<Цяло число, низ> fruitsMap = нова HashMap<Цяло число, низ>();
}
}
instagram viewer

The Java клас по-горе използва конструктора HashMap по подразбиране, за да създаде структура от данни, наречена fruitsMap. Обектът fruitsMap ще съхранява данни, които имат ключ с цяло число и стойност на низ. Въпреки това, тъй като класът HashMap имплементира интерфейса Map, той може да съхранява нулева стойност или в ключовото поле, в полето със стойност или и в двете.

Съхраняване на данни в HashMap

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

импортиранеjava.util.HashMap;
публиченкласОсновен{
публиченстатиченневалиденосновен(Низ [] аргументи){
//създаване на HashMap
HashMap<Цяло число, низ> fruitsMap = нова HashMap<Цяло число, низ>();
//добавете елементи към HashMap
fruitsMap.put (3,"Круша");
fruitsMap.put (6,"Манго");
fruitsMap.put (7,"слива");
fruitsMap.put (4,"Ябълка");
fruitsMap.put (1,"портокал");
fruitsMap.put (5,"Горски плодове");
fruitsMap.put (2,"Пъпеш");
}
}

Актуализираният клас по-горе използва метода put(), за да добави няколко плода и техния ключ към съществуващата структура от данни fruitsMap. Важно е да се отбележи, че кодът по-горе добавя данните към картата на случаен принцип. Тази подробност ще стане полезна, когато започнете да четете данните от HashMap.

Четене на данни от HashMap

Има няколко начина за четене на данни от HashMap. Методът, който използвате, ще зависи от това как искате да изглеждат данните или дори от вида на данните, които искате да извлечете.

Извлечете обекта HashMap

Ако искате да извлечете данните като обект, можете просто да получите достъп до обекта HashMap, който в примера по-долу е fruitsMap.

//Преглед на всички елементи като обект
Система.вън.println(fruitsMap);

Добавянето на реда с код по-горе към основния клас отпечатва следния изход в конзолата:

{1=Портокал, 2=Пъпеш, 3=Круша, 4=Ябълка, 5=Преди, 6=Манго, 7=Слива}

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

Извлечете всички данни поотделно

Ако искате да извлечете всички данни поотделно, тогава можете да използвате за метод, който ви позволява да преминете през HashMap и да отпечатате всяка стойност и съответния й ключ. Този метод използва интерфейса Map, който класът HashMap изпълнява.

//преглед на всички елементи с итератор 
за (HashMap. Вход<Цяло число, низ> плодове: fruitsMap.entrySet())
{
System.out.println("Ключ: " + fruit.getKey() + " Стойност: " + fruit.getValue());
}

Добавянето на горния метод към вашия код ще отпечата следния изход във вашата конзола:

Ключ: 1 Стойност: Оранжев
Ключ: 2 Стойност: Пъпеш
Ключ: 3 Стойност: Круша
Ключ: 4 Стойност: Apple
Ключ: 5 Стойност: Горски плодове
Ключ: 6 Стойност: Манго
Ключ: 7 Стойност: Слива

Извличане на конкретна стойност

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

//извличане на един елемент
Система.вън.println(fruitsMap.get(4));

Редът от код по-горе отпечатва следния изход в конзолата:

Ябълка

Актуализиране на данни в HashMap

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

// заместване на един елемент
fruitsMap.replace (4, "грозде");
Система.вън.печат(fruitsMap);

Изпълнението на кода по-горе отпечатва следния обект в конзолата:

{1=Портокал, 2=пъпеш, 3=круша, 4=грозде, 5=горови плодове, 6=манго, 7=слива}

Както можете да видите от обекта по-горе, „Grapes“ се съпоставя с 4, което преди това се съпоставя с „Apple“.

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

// заместване на един елемент
fruitsMap.replace (4, "Ябълка", "грозде");
Система.вън.печат(fruitsMap);

Кодът по-горе отпечатва следния обект в конзолата:

{1=Портокал, 2=пъпеш, 3=круша, 4=грозде, 5=горови плодове, 6=манго, 7=слива}

Изтриване на данни от HashMap

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

//изтриване на един елемент
fruitsMap.Премахване(5);
Система.вън.println(fruitsMap);

Кодът по-горе отпечатва следния обект в конзолата:

{1=Портокал, 2=Пъпеш, 3=Круша, 4=Ябълка, 6=Манго, 7=Слива}

Актуализираният обект показва, че елементът с двойката ключ-стойност 5 и „Ягоди“ вече не е част от fruitsMap. Вторият метод remove() взема ключ и стойността, към която той се присвоява.

//изтриване на един елемент
fruitsMap.remove (5, "Горски плодове");
Система.вън.println(fruitsMap);

Кодът по-горе също отпечатва следния обект в конзолата:

{1=Портокал, 2=Пъпеш, 3=Круша, 4=Ябълка, 6=Манго, 7=Слива}

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

fruitsMap.ясно();
Система.вън.println(fruitsMap);

Изпълнението на кода по-горе отпечатва следния празен обект в конзолата:

{}

Вече можете да извършвате CRUD операции на Java HashMap

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