Jak používat HashSet v Javě?

Jak Pouzivat Hashset V Jave



Java má třídu kolekce nazvanou HashSet, která implementuje rozhraní Set, které používá k ukládání hash tabulku. Používá se k udržení kolekce odlišných prvků v jakémkoli uspořádání. Hlavní výhodou použití HashSet je, že umožňuje rychlý přístup k prvkům, protože k ukládání prvků používá hash. HashSet je ideální pro odstraňování duplikátů a hledání společných prvků mezi dvěma sadami.

Tato příručka bude ilustrovat HashSet spolu s možnými příklady v Javě.

Jak používat HashSet v Javě?

Chcete-li použít HashSet v Javě, nejprve importujte třídu HashSet. Poté vytvořte objekt HashSet a přidejte prvky pomocí „ přidat() “ metoda. Použijte funkci remove() k odstranění člena HashSet.







Uživatelé mohou také využít metodu obsahuje() k výpočtu, zda prvek existuje v HashSet. Nakonec k iteraci prvků v HashSet použijte smyčku for-each.



Zde je několik příkladů, jak používat HashSet v Javě:



Příklad 1: Odstranění duplikátů z ArrayList
Jedním z běžných případů použití HashSet je odstranění duplikátů z kolekce. Zde je příklad, jak použít HashSet k odstranění duplikátů z ArrayList:





import Jáva. util . ArrayList ;
import Jáva. util . HashSet ;

veřejnost třída RemoveDuplicatesExample {
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
ArrayList listWithDuplicates = Nový ArrayList ( ) ;
listWithDuplicates. přidat ( 'jablko' ) ;
listWithDuplicates. přidat ( 'banán' ) ;
listWithDuplicates. přidat ( 'oranžový' ) ;
listWithDuplicates. přidat ( 'jablko' ) ;
listWithDuplicates. přidat ( 'oranžový' ) ;

HashSet setWithoutDuplicates = Nový HashSet ( listWithDuplicates ) ;
ArrayList listWithoutDuplicates = Nový ArrayList ( setWithoutDuplicates ) ;

Systém. ven . println ( 'Seznam s duplikáty: ' + listWithDuplicates ) ;
Systém. ven . println ( 'Seznam bez duplikátů: ' + seznamBez duplikátů ) ;
}
}

Popis výše uvedeného kódu je uveden níže:

  • Nejprve vytvořte ArrayList řetězců s duplikáty.
  • Poté vytvořte HashSet z ArrayList. Je to proto, že HashSet může obsahovat pouze jedinečné prvky, což účinně odstraňuje duplikáty.
  • Nakonec vytvořte nový ArrayList z HashSet, abyste získali seznam bez duplikátů.

Výstup



Výstup ukazuje, že duplikace byla odstraněna ze seznamu.

Příklad 2: Hledání společných prvků mezi dvěma sadami
Dalším případem použití HashSet je nalezení společných prvků mezi dvěma sadami. Zde je příklad, jak použít HashSet k nalezení společných prvků mezi dvěma sadami:

import Jáva. util . HashSet ;

veřejnost třída FindCommonElementsExample { // Zadejte název třídy
veřejnost statický prázdnota hlavní ( Tětiva [ ] argumenty ) {
Sada hashSet1 = Nový HashSet ( ) ;
sada1. přidat ( 1 ) ;
sada1. přidat ( 2 ) ; // Zde přidejte hodnoty
sada1. přidat ( 3 ) ;

Sada hashSet2 = Nový HashSet ( ) ;
sada2. přidat ( 2 ) ;
sada2. přidat ( 3 ) ; // Zde přidejte hodnoty
sada2. přidat ( 4 ) ;

HashSet commonElements = Nový HashSet ( sada1 ) ;
commonElements. zachovatVše ( sada2 ) ;

Systém. ven . println ( 'Sada 1:' + sada1 ) ;
Systém. ven . println ( 'Sada 2:' + sada2 ) ;
Systém. ven . println ( 'Společné prvky:' + commonElements ) ;
}
}

Vysvětlení je uvedeno níže:

  • Nejprve vytvořte dva objekty HashSet a přidejte k nim několik celých čísel.
  • Poté vytvořte nový objekt HashSet a přidejte do něj všechny prvky ze sady1.
  • Poté zavolejte metodu keepAll() na tomto novém objektu HashSet a předejte set2 jako argument.
  • Efektivně odstraní všechny prvky z nové HashSet, které nejsou v sadě2, a ponechá pouze společné prvky.

Výstup

Výstup ukazuje, že mezi dvěma sadami byly nalezeny společné prvky.

Závěr

HashSet je výkonná třída kolekce v Javě, která se používá k ukládání sady jedinečných prvků v žádném konkrétním pořadí. Poskytuje metody jako „ přidat() “, “ odstranit() ', a ' obsahuje() ” pro přidání, odebrání a kontrolu přítomnosti prvků v HashSet. Iteruje přes prvky a je jednoduchý se smyčkou pro každého. Implementací metod hashCode() a equals() mohou uživatelé také používat vlastní objekty v HashSet.

Tato příručka obsahuje všechny možné příklady použití HashSet v Javě.