CodeGym /בלוג Java /Random-HE /כיצד להשתמש בשיטת keySet ב-java.util.Map
John Squirrels
רָמָה
San Francisco

כיצד להשתמש בשיטת keySet ב-java.util.Map

פורסם בקבוצה
אם אתה צריך לקבל את כל המפתחות שהמפה שלך מכילה , אתה יכול להשתמש בשיטת java.util.HashMap.keySet() השימושית באמת . במאמר זה נסביר כיצד זה עובד. כידוע, מחלקת HashMap מיישמת את ממשק Map , אז בדוגמאות אנו הולכים להשתמש בשיטת HashMap keySet() .

חתימת שיטת HashMap keySet() ועקרון הפעולה

שיטת Set<K> keySet() מחזירה תצוגת Set של המפתחות הכלולים במפה זו. התכונה של אוסף הסט הזה, ששומר על המפתחות, היא שלא יכולים להיות בו אלמנטים כפולים. הסט מגובה במפה. זה אומר שאם משהו השתנה במפה, זה בא לידי ביטוי בסט, ולהיפך. לדוגמה, ניתן להסיר פריטים מקבוצה זו, והמפתחות והערכים המתאימים להם יוסרו אוטומטית מהמפה, אך לא ניתן להוסיף בה פריטים חדשים.

HashMap keySet() דוגמאות

בואו ניצור HashMap עם שמות החברים שלנו והמפתחות הדיגיטליים שלהם ולאחר מכן נדפיס את סט המפתחות בשיטת HashMap keySet() .
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class KeySetDemo {
   public static void main(String[] args) {
       Map<Integer, String> myHashMap = new HashMap<>();
       myHashMap.put(1, "John");
       myHashMap.put(2, "Ivy");
       myHashMap.put(3, "Ricky");
       myHashMap.put(4, "Andrew");
       myHashMap.put(5, "Alex");

       //using map.keyset() method and print out the result
       Set<Integer> myKeySet = myHashMap.keySet();
       System.out.println("myKeySet of the map: "+myKeySet);
הפלט הוא:
מפתחות המפה: [1, 2, 3, 4, 5]
מלבד שיטת java.util.HashMap.keySet() ב-Java יש שיטה entrySet() , היא גם מחזירה Set , אבל קבוצה זו מכילה זוגות מפתח-ערך. הנה דוגמה עם שיטות java.util.HashMap.keySet() ו- java.util.HashMap.entrySet() כאחד:
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class KeySetDemo {
   public static void main(String[] args) {
       Map<Integer, String> myHashMap = new HashMap<>();
       myHashMap.put(1, "John");
       myHashMap.put(2, "Ivy");
       myHashMap.put(3, "Ricky");
       myHashMap.put(4, "Andrew");
       myHashMap.put(5, "Alex");

       //using map.keyset() method and print out the result
       Set<Integer> myKeySet = myHashMap.keySet();
       System.out.println("keys of the map: " + myKeySet);
       System.out.println("keys and values of the map: " );
       for( Map.Entry e : myHashMap.entrySet()){
           System.out.println(e.getKey() + " : " + e.getValue());
       }
   }
}
הנה הפלט:
מפתחות המפה: [1, 2, 3, 4, 5] מפתחות וערכי המפה: 1 : ג'ון 2 : אייבי 3 : ריקי 4 : אנדרו 5 : אלכס
כעת ננסה להסיר אלמנט מ- keySet ולוודא שהוא משפיע על HashMap המקורי שלנו .
import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class KeySetDemo {
   public static void main(String[] args) {
       Map<Integer, String> myHashMap = new HashMap<>();
       myHashMap.put(1, "John");
       myHashMap.put(2, "Ivy");
       myHashMap.put(3, "Ricky");
       myHashMap.put(4, "Andrew");
       myHashMap.put(5, "Alex");

       //using map.keyset() method and print out the result
       Set<Integer> myKeySet = myHashMap.keySet();
       System.out.println("keys of the map: " + myKeySet);
      myKeySet.remove(4);
       System.out.println("myHashMap after removing an element from myKeySet: " + myHashMap);
       System.out.println("keys of the map: " + myKeySet);
   }
}
הפלט הוא:
מפתחות המפה: [1, 2, 3, 4, 5] myHashMap לאחר הסרת רכיב מ-myKeySet: {1=John, 2=Ivy, 3=Ricky, 5=Alex} מקשים של המפה: [1, 2 , 3, 5]
כפי שאתה יכול לראות, הסרנו מפתח "4" מהסט , וזה הביא להסרת צמד "4-Alex" מה- HashMap שלנו . כעת ננסה להוסיף מפתח ל- keySet() :
import java.util.HashMap;
       import java.util.Map;
       import java.util.Set;

public class KeySetDemo {
   public static void main(String[] args) {
       Map<Integer, String> myHashMap = new HashMap<>();
       myHashMap.put(1, "John");
       myHashMap.put(2, "Ivy");
       myHashMap.put(3, "Ricky");
       myHashMap.put(4, "Andrew");
       myHashMap.put(5, "Alex");

       //using map.keyset() method and print out the result
       Set<Integer> myKeySet = myHashMap.keySet();
       System.out.println("keys of the map: " + myKeySet);
       myKeySet.add(7);

   }
}
במקרה זה נקבל חריגה, מכיוון שה- keySet שלנו מחובר ל- hashMap שלנו :
מפתחות המפה: [1, 2, 3, 4, 5] חריגה בשרשור "ראשי" java.lang.UnsupportedOperationException ב-java.base/java.util.AbstractCollection.add(AbstractCollection.java:251) ב-KeySetDemo.main (KeySetDemo.java:20) התהליך הסתיים עם קוד יציאה 1
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION