CodeGym /בלוג Java /Random-HE /HashSet מכיל () שיטה ב-Java
John Squirrels
רָמָה
San Francisco

HashSet מכיל () שיטה ב-Java

פורסם בקבוצה

מה זה HashSet?

HashSet הוא סוג נתונים מובנה ב-Java, ובמונחים של הדיוט אתה יכול לומר "HashSet הוא אוסף לא מסודר של אלמנטים ייחודיים." תסתכל על דוגמה בסיסית:HashSet מכיל () שיטה ב-Java - 2
איור 1: איור המציג דוגמאות תקפות ולא חוקיות של HashSet
(לפני שתמשיך הלאה, אנו מצפים שתדע על המונחים hashing ו- hash tables .) HashSet מרחיב ( מרחיב פירושו שמחלקה עברה בירושה ממחלקה אחרת) AbstractSet ומיישמת את ממשק ה-Set. הנה כמה נקודות שעליך לקחת בחשבון לפני שתעבוד עם HashSets:
  • זה יוצר אוסף ( אוסף פירושו יחידה אחת של אובייקטים, למשל: ArrayList, LinkedList, Vector וכו') שמשתמש בטבלת hash לאחסון.
  • ערכים כפולים אינם מותרים ב-HashSet.
  • אתה יכול להוסיף ערכי "null" ב-HashSet.
  • לא נשמר סדר הכנסה. אז אם אתה מחפש להכניס פריטים לפי הסדר, HashSet יהיה בחירה גרועה לדרישות שלך.
  • אם אתה רוצה לקבל/לשלוף אלמנט בזמן קבוע (O(1)), אז HashSet היא אחת הגישות הטובות ביותר שאתה יכול לנקוט.

מהי שיטת HashSet.contains()?

HashSet.contains() היא שיטה בוליאנית לבדוק אם פריט קיים במופע של HashSet או לא. במילים פשוטות, האם הסט מכיל את האלמנט הרצוי. Java.util.HashSet מספק יישום יעיל עבורו. תן לנו להראות לך איך אתה יכול להשתמש בו ביעילות כדי לפתור את השאילתות שלך.

contains() עם מספרים שלמים

import java.util.HashSet;

public class HashSetDemo {
   public static void main(String[] args) {

       // Declare your hash set
       HashSet digits = new HashSet();

       digits.add(0);
       digits.add(1);
       digits.add(2);
       digits.add(3);
       digits.add(4);
       digits.add(5);
       digits.add(null);
       System.out.println("All elements in hashset:\t" + digits);

       // Try adding duplicates
       digits.add(5);
       digits.add(2);
       System.out.println("After adding duplicates: \t" + digits);

       System.out.println("\n-------Using Contains Method-------");
       // Check out if the following digits exist in the hashset
       System.out.println("digits.contains(0) : " + digits.contains(0));
       System.out.println("digits.contains(2) : " + digits.contains(2));
       System.out.println("digits.contains(3) : " + digits.contains(7));
       System.out.println("digits.contains(null) : " + digits.contains(null));
   }
}
תְפוּקָה
כל הרכיבים ב-hashset: [0, null, 1, 2, 3, 4, 5] לאחר הוספת כפילויות: [0, null, 1, 2, 3, 4, 5] -------שימוש בשיטת מכיל- ------ digits.contains(0) : true digits.contains(2) : true digits.contains(3) : false digits.contains(null) : true

contains() עם Strings

עיין בדוגמה נוספת של מתודה contains() עם Strings .
import java.util.HashSet;
public class HashSetDemo {
     public static void main(String[] args) {

	  // Try working with another hash set of String type
	  HashSet rainbow = new HashSet();

        // Adding elements into HashSet using add()
        rainbow.add("Red");
        rainbow.add("Orange");
        rainbow.add("Yellow");
        rainbow.add("Green");
        rainbow.add("Blue");
        rainbow.add("Indigo");
        rainbow.add("Violet");


        // Let's traverse the hashset
        System.out.println("Traversing the rainbow:");
        for (String i : rainbow){
             System.out.println(i);
        }
       // Check out if rainbow contains this color or not
    	 System.out.println("\n-------Using Contains Method-------");

        System.out.println("rainbow.contains(\"Yellow\"): \t" + rainbow.contains("Yellow"));
        System.out.println("rainbow.contains(\"White\"): \t"  + rainbow.contains("White"));
        System.out.println("rainbow.contains(\"Lavender\"): \t"  + rainbow.contains("Lavender"));
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        // Remove a color from rainbow using remove()
        rainbow.remove("Red");

        // Now consume  set contains() method again to check if it's still present
        System.out.println("rainbow.contains(\"Red\"): \t"  + rainbow.contains("Red"));

        System.out.println("\nAfter removing Red: " + rainbow);
	}
}
תְפוּקָה
חוצה את הקשת: אדום סגול צהוב כחול אינדיגו כתום ירוק -------בשימוש בשיטת מכיל------- rainbow.contains("צהוב"): true rainbow.contains("לבן"): קשת שקר. contains("לבנדר"): false rainbow.contains("Red"): true rainbow.contains("Red"): false לאחר הסרת אדום: [סגול, צהוב, כחול, אינדיגו, כתום, ירוק]
כפי שניתן לראות, סדר הפלט שונה מסדר הכנסת האלמנטים ל-Hashset.

סיכום

השיטה contains() עבור HashSets היא שיטה די פשוטה לשימוש. עם זאת, בכל מקרה של בלבול אתה תמיד יכול להתייחס לפוסט הזה. קידוד שמח! :)
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION