Ismerje meg, mi a HashSet a Java-ban, és hogyan kezdje el vele!

Ez a cikk a Java HashSet-ről teljes áttekintést nyújt arról, hogy mi is pontosan a HashSet a Java-ban, és hogyan kell megvalósítani. Beszél a Java HashSet osztály által támogatott különféle módszerekről és konstruktorokról is.

A Java-ban található HashSet az egyik legfontosabb szempont a . Jellemzően egyedi értékek rendezetlen tárolására szolgál. Ennek a cikknek a Java-ban található HashSet-en keresztül átfogó áttekintést adok arról, hogy mi is pontosan a HashSet, és hogyan használhatja azt az alkalmazásában.



Az alábbiakban bemutatjuk a cikkben tárgyalt témákat:



Kezdjük azzal, hogy először megértjük, hogy mi a HashSet a Java-ban.

HashSet Java-ban



java.util.HashSet osztály a Java gyűjtemények keretrendszerének tagja, amelyörökli az AbstractSet osztályt ésvégrehajtja aKészlet felület . Implicit módon megvalósít egy hashtable-t egyedi elemek gyűjteményének létrehozásához és tárolásához. A Hashtable nem más, mint a HashMap osztály egy példánya, amely hash mechanizmust használ az információk HashSet-en belüli tárolásához.

megtalálja a legtöbbet egy java tömbben

A hashelés az információs tartalom átalakítása olyan egyedi értékké, amely közismertebb nevén hash-kód. Ezt a hashkódot használják a kulcshoz társított adatok indexeléséhez. Az információs kulcs hash-kóddá történő átalakításának teljes folyamatát belsőleg hajtják végre.

A Java HashSet jobb megértése érdekében hadd soroljam fel néhány jellemzőjét:



  1. A Java-ban található HashSet nem engedélyezi az ismétlődő értékeket.
  2. Null értékeket tartalmazhat.
  3. A HashSet nem követi az adatok tárolására vonatkozó beszúrási sorrendet, hanem a hashcode-ot használja a benne lévő értékek indexeléséhez.
  4. Ez nem szinkronizált ami automatikusan szálbiztonságossá teszi.
  5. A HashSet osztály megvalósítja a Cloneable and Sorosítható interfészek.

Most, hogy tisztában van azzal, hogy mi is pontosan a HashSet a Java-ban, lépjünk tovább ezzel a cikkel, és ismerjük el a Java HashMap és HashSet közötti különbségeket.

Java HashSet vs HashMap

HashSet HashMap
Végrehajtásokjava.util.Felület beállításaVégrehajtásokjava.util.Térkép
Az adatokat objektumokként tároljaAz adatokat kulcs-érték pár formájában tárolja
A HashSet csak egy paramétert igényel az objektum inicializálásáhozAz objektum inicializálásához két paraméter (kulcs, érték) szükséges
Nem engedélyezi az ismétlődő elemeketNem engedélyezi a duplikált kulcsokat, de tárolhatja az ismétlődő értékeket
Egyetlen null értéket engedélyezEgyetlen null kulcsot és tetszőleges számú null értéket engedélyez
HashSet használja add () módszer az adatok hozzáadásához vagy tárolásáhozA HashMap put () metódust használ az adatok tárolásához

Most, hogy világos különbséget tesz a HashMap és a HashSet között, most koncentráljunk újra a HashSet-re és merüljünk bele mélyebben. A cikk következő szakaszában bemutatom a Java HashSet teljes hierarchiáját.

HashSet hierarchia Java-ban

Amint az alábbi ábrán látható,A HashSet osztály implementálja a Set felületet. A Set felület tovább örökli a Collection felületet, amely végül hierarchikus sorrendben kiterjeszti az Iterable felületet.

Java HashSet Hierarchia - HashSet Java-ban - Edureka

Most, haladva ezzel a Java HashSet-cikkel, nézzük meg a különféle kivitelezők ez az osztály támogatja.

A java.util.HashSet osztály kivitelezői

Építész Leírás
HashSet () Ez a HashSet osztály alapértelmezett konstruktora
HashSet (int kapacitás) Ezt a konstruktort használják a hash készlet kezdeti kapacitásának inicializálására. A kapacitás új elemek hozzáadásával dinamikusan növekedhet
HashSet (int kapacitás, float loadCapacity) Ezt a konstruktort használják a beállított hash kezdeti kapacitásának és a terhelhetőségnek az inicializálására
HashSet (c gyűjtemény) Ezt a konstruktort használják az inicializáláshoza c gyűjtemény a c gyűjtemény gyűjteményeivel

Ez volt a HashSet osztály négy konstruktőre . Most derítsük ki, melyek a különféle a Java HashSet-ben definiálva.

A java.util.HashSet osztály módszerei

Módszer Leírás
logikai hozzáadás (Object obj) Ez a módszer csak akkor segít hozzáadni egy adott elemet a HashSet-hez, ha nincs
void clear () Ez a módszer segít eltávolítani az összes elemet a HashSetből
Objektumklón () Ez a módszer a HashSet példány sekély másolatát adja vissza, nem pedig a HashSet elemek klónjait
logikai érték tartalmazza (o objektum) Ez a módszer igaz értéket ad vissza, ha az átadott elem jelen van a HashSet-en belül
logikai isEmpty () Ez a módszer igazra tér vissza, ha a HashSet üres
Iterátor iterátor () Ez a módszer ismétlést ad vissza a HashSet-ben található elemek fölött
logikai eltávolítás (o objektum) Ez a módszer segít eltávolítani a megadott elemet a HashSet-ből, ha van
int méret () Ez a módszer a HashSet-ben található elemek összes számát adja vissza

A fent felsorolt ​​módszerekkel együtt a Java-ban található HashSet osztály tartalmazza a szuperosztályaiból.

Most próbáljuk meg megvalósítani ezeket a módszereket, és nedvesítsük meg a lábunkat a kódolással.

A HashSet megvalósítása a Java programban

Az alábbi példában kipróbálunk számos módszert, amelyet a HashSet osztály nyújt.

import java.util.HashSet import java.util. * public class SampleHashSet {public static void main (String [] args) {// HashSet Set létrehozása eduCourses = new HashSet () // Új elemek hozzáadása a HashSet eduCourses.add fájlhoz ('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') // Ismétlődő elemek hozzáadását figyelmen kívül hagyja az eduCourses.add ('Java') eduCourses.add ('RPA') System.out.println (eduCourses) // Ellenőrizze, hogy a HashSet tartalmaz-e egy adott elemet String myCourse = 'Node.js' if (eduCourses.contains (myCourse)) {System.out.println (myCourse + ') szerepel a tanfolyamok listáján. ')} else {System.out.println (a myCourse +' nincs a tanfolyamlistán. ')} // eduCourses rendezése a List List használatával list = new ArrayList (eduCourses) Collections.sort (list) // A HashSet System.out.println ('' rendezett elemeinek nyomtatása A tanfolyamok rendezése sorrendben a List: '+ list] használatával // Elemek eltávolítása a HashSet-ből az remove () eduCourses.remove (' Python ') használatával // Iterálás a HashSet elemek felett System.out.println (' Iterálás a tanfolyamlistán eltávolítás után Python: ') Iterator i = eduCourses.iterator () while (i.hasNext ()) System.out.println (i.next ()) // A HashSet másik objektumának létrehozása HashSet eduNewCourses = new HashSet () eduNewCourses.add ( 'Node.js') eduNewCourses.add ('Python') eduNewCourses.add ('Machine Learning') // Az összes új elem eltávolítása a HashSet-ből eduCourses.removeAll (eduNewCourses) System.out.println ('Az removeAll (meghívása után) módszer tanfolyamok hátra: '+ eduCourses) // Elemek eltávolítása a megadott feltétel alapján eduCourses.removeIf (str-> str.contains (' Java ')) System.out.println (' Az removeIf () metódus meghívása után: '+ eduCourses) // Az eduNewCourses programban megadott elemek eltávolítása eduCourses.retainAll (eduNewCourses) System.out.println ('HashSet után' + 'retainAll () művelet: '+ eduNewCourses) // Az eduCourses.clear () System.out.println halmazban található összes elem eltávolítása (' A clear () metódus meghívása után: '+ eduCourses)}}

Amikor végrehajtja a fenti kódot, akkor az alább látható kimenetet kapja.

Ezzel a cikk végére értünk. Remélem, képes voltam éles és világos fogalmakat tartani. Tudjon meg többet arról azáltal, hogy átmegy a mi .

Most, hogy megértette, mi a HashSet a Java-ban, nézze meg a az Edureka, egy megbízható online tanulási vállalat, amelynek több mint 250 000 elégedett tanulóval rendelkező hálózata elterjedt az egész világon. Az Edureka Java J2EE és SOA képzési és tanúsítási tanfolyamát olyan hallgatók és szakemberek számára tervezték, akik Java fejlesztők szeretnének lenni. A tanfolyamot úgy tervezték meg, hogy előrelépést nyújtson a Java programozásban, és képezze mind az alapvető, mind a fejlett Java koncepciókhoz, valamint a különböző Java keretrendszerekhez, például a Hibernate & Spring.

Van egy kérdésünk? Kérjük, említse meg a „HashSet in Java” cikk megjegyzés szakaszában, és a lehető leghamarabb kapcsolatba lépünk Önnel.

mi az eljárás sql-ben