Научете какво е HashSet в Java и как да започнете с него!



Тази статия за HashSet в Java ще ви даде пълен преглед на това какво точно е HashSet в Java и как да го приложите. Ще се говори и за различните методи и конструктори, поддържани от класа Java HashSet.

HashSet в Java е един от най-важните аспекти на . Обикновено се използва за съхраняване на уникални стойности по неподреден начин. Посредством тази статия за HashSet в Java, ще ви дам пълен преглед на това какво точно е HashSet и как можете да го използвате във вашето приложение.

По-долу са разгледани темите в тази статия:





Нека започнем, като първо разберем какво представляват HashSet в Java.

HashSet в Java



java.util.HashSet клас е член на рамката на Java колекции, коятонаследява класа AbstractSet иизпълняваКомплект интерфейс . Той имплицитно реализира хеш-таблица за създаване и съхраняване на колекция от уникални елементи. Hashtable не е нищо друго освен екземпляр на класа HashMap, който използва хеширащ механизъм за съхраняване на информацията в HashSet.

какво е * в sql

Хеширането е процес на преобразуване на информационното съдържание в уникална стойност, която е по-известна като хеш код. След това този хеш-код се използва за индексиране на данните, свързани с ключа. Целият процес на трансформиране на информационния ключ в хеш-код се извършва вътрешно.

Сега за по-добро разбиране на HashSet в Java, позволете ми да изброя няколко негови функции:



  1. HashSet в Java не позволява дублирани стойности.
  2. Може да съдържа нулеви стойности.
  3. HashSet не следва реда за вмъкване за съхранение на данните, а използва хеш-кода за индексиране на стойностите вътре.
  4. Не е синхронизирани което автоматично го прави безопасно за нишките.
  5. Класът HashSet също така изпълнява Cloneable иСериализуеми интерфейси.

След като вече сте наясно какво точно представлява HashSet в Java, нека продължим с тази статия и демистифицираме разликите между HashMap и HashSet в Java.

Java HashSet срещу HashMap

HashSet HashMap
Приложенияjava.util.Задайте интерфейсПриложенияjava.util.Map
Съхранява данни като обектиСъхранява данни под формата на двойка ключ-стойност
HashSet изисква само един параметър за инициализацията на обекта сиТой изисква два параметъра (ключ, стойност) за инициализацията на обекта си
Не позволява дублиращи се елементиНе позволява дублиращи се ключове, но можете да съхранявате дублирани стойности
Позволява единична нулева стойностПозволява един нулев ключ и произволен брой нулеви стойности
HashSet използвайте add ()метод за добавяне или съхраняване на данниHashMap използва метода put () за съхранение на данни

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

HashSet Йерархия в Java

Както можете да видите от дадената по-долу диаграма,Класът HashSet реализира интерфейса Set. Интерфейсът Set също наследява интерфейса Collection, който в крайна сметка разширява Iterable интерфейса в йерархичен ред.

Йерархия на Java HashSet - HashSet в Java - Edureka

Сега, напредвайки с тази статия за HashSet в Java, нека проверим различните конструктори поддържани от този клас.

Конструктори на java.util.HashSet Class

Строител Описание
HashSet () Това е конструкторът по подразбиране за класа HashSet
HashSet (вътрешен капацитет) Този конструктор се използва за инициализиране на първоначалния капацитет на хеш набора. Капацитетът може да нараства динамично с добавянето на нови елементи
HashSet (int capacity, float loadCapacity) Този конструктор се използва за инициализиране на първоначалния капацитет на зададения хеш заедно с товароносимостта
HashSet (Колекция c) Този конструктор се използва за инициализиранехешът, зададен с помощта на елементите от Колекция c

Това бяха четирите конструктора на класа HashSet в . Нека сега разберем кои са различните дефиниран в Java HashSet.

Методи на клас java.util.HashSet

Метод Описание
булево добавяне (обект obj) Този метод помага за добавяне на определен елемент в HashSet само ако той не присъства
празно ясно () Този метод помага при премахването на всички елементи от HashSet
Клон на обект () Този метод връща плитко копие на екземпляра HashSet, а не клонинги на елементите HashSet
boolean съдържа (Обект o) Този метод връща true, ако подаденият елемент присъства в HashSet
boolean isEmpty () Този метод връща true в случай, че HashSet е празен
Итератор на итератор () Този метод връща итератор върху елементите, присъстващи в HashSet
булево премахване (обект o) Този метод помага при премахването на посочения елемент от HashSet, ако той присъства
размер int () Този метод връща общия брой елементи, налични в HashSet

Заедно с изброените по-горе методи, класът HashSet в Java съдържа и от своите суперкласове.

Нека сега се опитаме да приложим тези методи и да намокрим краката си с кодиране.

Внедряване на HashSet в Java програма

В примера по-долу ще се опитаме да внедрим редица методи, предоставени от класа HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Създаване на набор от HashSet eduCourses = new HashSet () // Добавяне на нови елементи към HashSet eduCourses.add ('Големи данни') eduCourses.add ('Node.js') eduCourses.add ('Java') eduCourses.add ('Python') eduCourses.add ('Blockchain') eduCourses.add ('JavaScript') eduCourses. add ('Selenium') eduCourses.add ('AWS') eduCourses.add ('Machine Learning') eduCourses.add ('RPA') // Добавянето на дублиращи се елементи ще бъде игнорирано eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Проверете дали HashSet съдържа специфичен елемент String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' е в списъка с курсове. ')} else {System.out.println (myCourse +' не е в списъка с курсове. ')} // Сортиране на eduCourses с помощта на List List list = new ArrayList (eduCourses) Collections.sort (list) // Отпечатване на сортираните елементи на HashSet System.out.println (' Отпечатване на курсовете в сортиран ред, като се използва Списък: '+ list) // Премахване на елементи от HashSet с помощта на remove () eduCourses.remove (' Python ') // Итериране върху елементи на HashSet System.out.println (' Итерация върху списък с курсове след премахване Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Създаване на друг обект на HashSet HashSet eduNewCourses = нов HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Премахване на всички нови елементи от HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('След извикване на removeAll () ляво на курсове на метода: '+ eduCourses) // Премахване на елементи въз основа на определено условие eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' След извикване на метод removeIf (): '+ eduCourses) // Премахване на елементи от eduCourses, посочени в eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println (операция 'HashSet след' + 'retainAll (): '+ eduNewCourses) // Премахване на всички елементи, налични в набора eduCourses.clear () System.out.println (' След извикване на метод clear (): '+ eduCourses)}}

Когато изпълните горния код, той ще ви даде показания по-долу резултат.

С това стигнахме до края на тази статия. Надявам се, че успях да запазя понятията чисти и ясни. Можете да научите повече за като минем през нашия .

След като разбрахте какво е HashSet в Java, разгледайте от Edureka, доверена компания за онлайн обучение с мрежа от над 250 000 доволни учащи, разпространени по целия свят. Курсът за обучение и сертифициране на Java J2EE и SOA на Edureka е предназначен за студенти и професионалисти, които искат да бъдат Java Developer. Курсът е предназначен да ви даде начален старт в програмирането на Java и да ви обучи както за основни, така и за разширени Java концепции, заедно с различни Java рамки като Hibernate & Spring.

Имате въпрос към нас? Моля, споменете го в раздела за коментари на тази статия „HashSet в Java“ и ние ще се свържем с вас възможно най-скоро.

каква е процедурата в sql