CodeGym /وبلاگ جاوا /Random-FA /نحوه استفاده از متد keySet در java.util.Map
John Squirrels
مرحله
San Francisco

نحوه استفاده از متد keySet در java.util.Map

در گروه منتشر شد
اگر نیاز دارید که تمام کلیدهایی را که Map شما شامل می شود دریافت کنید، می توانید از متد ()java.util.HashMap.keySet واقعا مفید استفاده کنید . در این مقاله نحوه عملکرد آن را توضیح خواهیم داد. همانطور که می دانید کلاس HashMap رابط Map را پیاده سازی می کند ، بنابراین در مثال ها قصد داریم از متد () keySet HashMap استفاده کنیم .

امضای روش 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 در جاوا یک متد enterSet() وجود دارد ، همچنین یک 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);

   }
}
در این مورد، یک Exception دریافت می کنیم، زیرا 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