כיצד להשתמש ב-HashSet ב-Java?

Kyzd Lhstms B Hashset B Java



ל-Java יש מחלקת אוסף בשם HashSet המיישמת את ממשק ה-Set אשר משתמש בטבלת Hash לאחסון. הוא משמש לשמירה על אוסף של אלמנטים נפרדים בכל סידור. היתרון העיקרי בשימוש ב-HashSet הוא בכך שהוא מאפשר גישה מהירה לאלמנטים, מכיוון שהוא משתמש ב-hash לאחסון האלמנטים. HashSet אידיאלי להסרת כפילויות ומציאת אלמנטים משותפים בין שני סטים.

מדריך זה ימחיש את ה-HashSet יחד עם דוגמאות אפשריות ב-Java.

כיצד להשתמש ב-HashSet ב-Java?

כדי להשתמש ב-HashSet ב-Java, תחילה ייבא את המחלקה HashSet. לאחר מכן, צור אובייקט HashSet והוסף אלמנטים באמצעות ' לְהוֹסִיף() ' שיטה. השתמש בפונקציה remove() כדי לחסל חבר ב-HashSet.







משתמשים יכולים גם להשתמש בשיטת contains() כדי לחשב אם קיים אלמנט ב-HashSet. לבסוף, כדי לחזור על האלמנטים ב-HashSet, השתמש בלולאה לכל לולאה.



הנה כמה דוגמאות לשימוש ב-HashSet ב-Java:



דוגמה 1: הסרת כפילויות מ-ArrayList
מקרה שימוש נפוץ אחד עבור HashSet הוא הסרת כפילויות מאוסף. להלן דוגמה כיצד להשתמש ב-HashSet כדי להסיר כפילויות מ-ArrayList:





יְבוּא java. util . רשימת מערך ;
יְבוּא java. util . HashSet ;

פּוּמְבֵּי מעמד הסר דוגמה לכפולות {
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ArrayList listWithDuplicates = חָדָשׁ רשימת מערך ( ) ;
listWithDuplicates. לְהוֹסִיף ( 'תפוח עץ' ) ;
listWithDuplicates. לְהוֹסִיף ( 'בננה' ) ;
listWithDuplicates. לְהוֹסִיף ( 'תפוז' ) ;
listWithDuplicates. לְהוֹסִיף ( 'תפוח עץ' ) ;
listWithDuplicates. לְהוֹסִיף ( 'תפוז' ) ;

ערכת HashSetWithoutDuplicates = חָדָשׁ HashSet ( listWithDuplicates ) ;
רשימה של מערכים ללא כפילויות = חָדָשׁ רשימת מערך ( setWithoutDuplicates ) ;

מערכת. הַחוּצָה . println ( 'רשימה עם כפילויות: ' + listWithDuplicates ) ;
מערכת. הַחוּצָה . println ( 'רשימה ללא כפילויות:' + רשימה ללא כפילויות ) ;
}
}

התיאור של הקוד לעיל ניתן להלן:

  • ראשית, צור ArrayList של מחרוזות עם כפילויות.
  • לאחר מכן, צור HashSet מתוך ArrayList. זה בגלל ש-HashSet יכול להכיל רק אלמנטים ייחודיים, זה למעשה מסיר את הכפילויות.
  • בסופו של דבר, צור ArrayList חדש מה-HashSet כדי לקבל רשימה ללא כפילויות.

תְפוּקָה



הפלט מראה שהכפילות הוסרה מהרשימה.

דוגמה 2: מציאת אלמנטים משותפים בין שתי קבוצות
מקרה שימוש נוסף עבור HashSet הוא למצוא אלמנטים משותפים בין שני סטים. להלן דוגמה כיצד להשתמש ב-HashSet כדי למצוא אלמנטים משותפים בין שתי קבוצות:

יְבוּא java. util . HashSet ;

פּוּמְבֵּי מעמד FindCommonElementsExample { // ציין את שם המחלקה
פּוּמְבֵּי סטָטִי בָּטֵל רָאשִׁי ( חוּט [ ] args ) {
ערכת HashSet1 = חָדָשׁ HashSet ( ) ;
סט1. לְהוֹסִיף ( 1 ) ;
סט1. לְהוֹסִיף ( 2 ) ; // הוסף ערכים כאן
סט1. לְהוֹסִיף ( 3 ) ;

ערכת HashSet2 = חָדָשׁ HashSet ( ) ;
סט2. לְהוֹסִיף ( 2 ) ;
סט2. לְהוֹסִיף ( 3 ) ; // הוסף ערכים כאן
סט2. לְהוֹסִיף ( 4 ) ;

HashSet commonElements = חָדָשׁ HashSet ( סט1 ) ;
רכיבים משותפים. לשמור הכל ( סט2 ) ;

מערכת. הַחוּצָה . println ( 'סט 1:' + סט1 ) ;
מערכת. הַחוּצָה . println ( 'סט 2:' + סט2 ) ;
מערכת. הַחוּצָה . println ( 'רכיבים משותפים: ' + רכיבים משותפים ) ;
}
}

ההסבר ניתן להלן:

  • ראשית, צור שני אובייקטי HashSet והוסף להם מספר שלמים.
  • לאחר מכן, צור אובייקט HashSet חדש והוסף אליו את כל האלמנטים מ-set1.
  • לאחר מכן, קרא למתודה retainAll() באובייקט HashSet החדש הזה, תוך העברה ב-set2 כארגומנט.
  • זה מסיר למעשה כל רכיב מה-HashSet החדש שאינם ב-set2, ומשאיר רק את האלמנטים הנפוצים.

תְפוּקָה

הפלט מראה שנמצאו אלמנטים משותפים בין שתי קבוצות.

סיכום

HashSet היא מחלקת אוסף רבת עוצמה בג'אווה המשמשת לאחסון קבוצה של אלמנטים ייחודיים ללא סדר מסוים. הוא מספק שיטות כגון ' לְהוֹסִיף() ', ' לְהַסִיר() ', ו' מכיל() ' כדי להוסיף, להסיר ולבדוק את נוכחותם של אלמנטים ב-HashSet. זה חוזר על אלמנטים והוא פשוט עם לולאה לכל לולאה. על ידי יישום שיטות hashCode() ו-equals(), משתמשים יכולים גם להשתמש באובייקטים מותאמים אישית ב-HashSet.

מדריך זה כיסה את כל הדוגמאות האפשריות לשימוש ב-HashSet ב-Java.