Dowiedz się, czym jest HashSet w Javie i jak zacząć z nim korzystać!



Ten artykuł na temat HashSet w Javie zawiera pełny przegląd tego, czym dokładnie jest HashSet w Javie i jak go zaimplementować. Omówi również różne metody i konstruktory obsługiwane przez klasę Java HashSet.

HashSet w Javie jest jednym z najważniejszych aspektów . Zwykle służy do przechowywania unikatowych wartości w nieuporządkowany sposób. Za pośrednictwem tego artykułu na temat HashSet w Javie przedstawię Ci kompletny przewodnik po tym, czym dokładnie jest HashSet i jak możesz go używać w swojej aplikacji.

Poniżej znajdują się tematy poruszone w tym artykule:





Zacznijmy od zrozumienia, czym jest HashSet w Javie.

przekazać przez odwołanie w java

HashSet w Javie



java.util.HashSet klasa jest członkiem struktury kolekcji Java, któradziedziczy klasę AbstractSet iimplementujeZestaw berło . Niejawnie implementuje tablicę haszującą do tworzenia i przechowywania kolekcji unikalnych elementów. Hashtable to nic innego jak instancja klasy HashMap, która używa mechanizmu haszującego do przechowywania informacji w HashSet.

Haszowanie to proces konwertowania treści informacyjnych na unikalną wartość, popularnie nazywaną kodem skrótu. Ten kod skrótu jest następnie używany do indeksowania danych skojarzonych z kluczem. Cały proces przekształcania klucza informacyjnego w kod skrótu jest wykonywany wewnętrznie.

Teraz, aby lepiej zrozumieć HashSet w Javie, pozwól mi wymienić kilka jego funkcji:



  1. HashSet w Javie nie zezwala na zduplikowane wartości.
  2. Może zawierać wartości null.
  3. HashSet nie postępuje zgodnie z kolejnością wstawiania w celu przechowywania danych, ale wykorzystuje kod skrótu do indeksowania wartości w obrębie.
  4. To nie jest zsynchronizowane co automatycznie czyni go niebezpiecznym dla wątków.
  5. Klasa HashSet implementuje również Cloneable iInterfejsy szeregowe.

Teraz, gdy już wiesz, czym dokładnie jest HashSet w Javie, przejdźmy dalej w tym artykule i wyjaśnijmy różnice między HashMap i HashSet w Javie.

Java HashSet vs HashMap

HashSet HashMap
Przyboryjava.util.Ustaw interfejsPrzyboryjava.util.Map
Przechowuje dane jako obiektyPrzechowuje dane w postaci pary klucz-wartość
HashSet wymaga tylko jednego parametru do inicjalizacji obiektuDo inicjalizacji obiektu wymagane są dwa parametry (klucz, wartość)
Nie zezwala na zduplikowane elementyNie zezwala na zduplikowane klucze, ale możesz przechowywać zduplikowane wartości
Umożliwia pojedynczą wartość nullPozwala na pojedynczy klucz o wartości null i dowolną liczbę wartości null
HashSet użyj add ()metoda dodawania lub przechowywania danychHashMap używa metody put () do przechowywania danych

Teraz, gdy masz już wyraźne rozróżnienie między HashMap i HashSet, skupmy się teraz ponownie na HashSet i zanurzmy się w nim głębiej. W następnej części tego artykułu przedstawię pełną hierarchię HashSet w Javie.

Hierarchia HashSet w Javie

Jak widać na poniższym diagramie,Klasa HashSet implementuje interfejs Set. Interfejs Set dalej dziedziczy interfejs Collection, który ostatecznie rozszerza interfejs Iterowalny w kolejności hierarchicznej.

Hierarchia Java HashSet - HashSet w Javie - Edureka

Przechodząc dalej z tym artykułem HashSet w Javie, przyjrzyjmy się różnym konstruktorzy obsługiwane przez tę klasę.

Konstruktorzy klasy java.util.HashSet

Budowniczy Opis
HashSet () To jest domyślny konstruktor klasy HashSet
HashSet (pojemność int) Ten konstruktor służy do inicjowania początkowej pojemności zestawu skrótów. Pojemność może dynamicznie rosnąć wraz z dodawaniem nowych elementów
HashSet (int capacity, float loadCapacity) Ten konstruktor służy do inicjowania początkowej pojemności zestawu skrótów wraz z pojemnością ładowania
HashSet (kolekcja c) Ten konstruktor służy do inicjalizacjizestaw skrótu przy użyciu elementów z kolekcji c

Były to cztery konstruktory klasy HashSet w programie . Zobaczmy teraz, jakie są różne zdefiniowane w Java HashSet.

Metody klasy java.util.HashSet

metoda Opis
boolean add (Object obj) Ta metoda pomaga w dodaniu określonego elementu do HashSet tylko wtedy, gdy nie jest obecny
void clear () Ta metoda pomaga w usunięciu wszystkich elementów z HashSet
Klon obiektu () Ta metoda zwraca płytką kopię wystąpienia HashSet, a nie klony elementów HashSet
boolean zawiera (obiekt o) Ta metoda zwraca wartość true, jeśli przekazany element jest obecny w HashSet
boolean isEmpty () Ta metoda zwraca wartość true w przypadku, gdy HashSet jest pusty
Iterator iterator () Ta metoda zwraca iterator dla elementów obecnych w HashSet
boolean remove (Object o) Ta metoda pomaga w usuwaniu określonego elementu z HashSet, jeśli jest obecny
rozmiar int () Ta metoda zwraca całkowitą liczbę elementów obecnych w HashSet

Wraz z wyżej wymienionymi metodami klasa HashSet w Javie zawiera również rozszerzenie ze swoich superklas.

jak używać anaconda python

Spróbujmy teraz wdrożyć te metody i zanurzyć się w kodowaniu.

Implementacja HashSet w programie Java

W poniższym przykładzie spróbujemy zaimplementować szereg metod dostarczonych przez klasę HashSet.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// Tworzenie zestawu HashSet eduCourses = new HashSet () // Dodawanie nowych elementów do HashSet eduCourses.add ('Big Data') 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') // Dodawanie zduplikowanych elementów będzie ignorowane eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Sprawdź, czy zestaw HashSet zawiera określony element String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ' znajduje się na liście kursów. ')} else {System.out.println (myCourse +' nie ma na liście kursów. ')} // Sortowanie eduCourses przy użyciu List List list = new ArrayList (eduCourses) Collections.sort (list) // Drukowanie posortowanych elementów HashSet System.out.println (' Drukowanie kursów w porządku posortowanym za pomocą List: '+ list) // Usuwanie elementów z HashSet za pomocą remove () eduCourses.remove (' Python ') // Iterowanie po elementach HashSet System.out.println (' Iterowanie po liście kursów po usunięciu Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // Tworzenie kolejnego obiektu HashSet HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Usuwanie wszystkich nowych elementów z HashSet eduCourses.removeAll (eduNewCourses) System.out.println ('Po wywołaniu funkcji removeAll () metoda kursy left: '+ eduCourses) // Usuwanie elementów na podstawie określonego warunku eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Po wywołaniu metody removeIf (): '+ eduCourses) // Usuwanie elementów z eduCourses, które są określone w eduNewCourses eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet po operacji' + 'retainAll (): '+ eduNewCourses) // Usunięcie wszystkich elementów dostępnych w zestawie eduCourses.clear () System.out.println (' Po wywołaniu metody clear (): '+ eduCourses)}}

Kiedy wykonasz powyższy kod, da ci on pokazane poniżej wyjście.

W ten sposób dochodzimy do końca tego artykułu. Mam nadzieję, że udało mi się zachować zwięzłe i jasne koncepcje. Możesz dowiedzieć się więcej o przechodząc przez nasze .

Teraz, gdy zrozumiałeś, czym jest HashSet w Javie, zapoznaj się z autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 250 000 zadowolonych uczniów rozsianych po całym świecie. Szkolenie i certyfikacja J2EE i SOA firmy Edureka jest przeznaczony dla studentów i profesjonalistów, którzy chcą zostać programistami Java. Kurs ma na celu zapewnienie przewagi w programowaniu w języku Java i przeszkolenie zarówno podstawowych, jak i zaawansowanych koncepcji języka Java, a także różnych struktur Java, takich jak Hibernate i Spring.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy w tym artykule „HashSet w Javie”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.