CodeGym /Java Blogu /Rastgele /Java.util.Map'te keySet yöntemi nasıl kullanılır?
John Squirrels
Seviye
San Francisco

Java.util.Map'te keySet yöntemi nasıl kullanılır?

grupta yayınlandı
Haritanızın içerdiği tüm anahtarları almanız gerekiyorsa gerçekten kullanışlı java.util.HashMap.keySet() yöntemini kullanabilirsiniz . Bu yazıda, nasıl çalıştığını açıklayacağız. Bildiğiniz gibi, HashMap sınıfı, Harita arayüzünü uygular , bu nedenle örneklerde HashMap keySet() yöntemini kullanacağız .

HashMap keySet() yöntemi imzası ve çalışma prensibi

Set<K> keySet() yöntemi , bu haritada bulunan anahtarların Set görünümünü döndürür . Bu Set koleksiyonunun anahtarları tutan özelliği, içinde yinelenen öğeler bulunmamasıdır. Set harita tarafından desteklenmektedir. Bu, haritada bir şey değiştirilirse sete yansıtılacağı ve bunun tersi anlamına gelir. Örneğin, bu kümeden öğeleri kaldırabilirsiniz ve anahtarlar ve bunlara karşılık gelen değerler haritadan otomatik olarak kaldırılır, ancak içine yeni öğeler ekleyemezsiniz.

HashMap keySet() örnekleri

Arkadaşlarımızın adlarını ve dijital anahtarlarını içeren bir HashMap oluşturalım ve ardından HashMap keySet() yöntemini kullanarak Set of the key'leri yazdıralım .

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);
Çıktı:
haritanın tuşları: [1, 2, 3, 4, 5]
Java'da java.util.HashMap.keySet() yönteminin yanı sıra bir entrySet() yöntemi vardır , ayrıca bir Set döndürür , ancak bu küme anahtar-değer çiftleri içerir. Burada hem java.util.HashMap.keySet() hem de java.util.HashMap.entrySet() yöntemlerinin kullanıldığı bir örnek verilmiştir:

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());
       }
   }
}
İşte çıktı:
haritanın tuşları: [1, 2, 3, 4, 5] haritanın tuşları ve değerleri: 1 : John 2 : Ivy 3 : Ricky 4 : Andrew 5 : Alex
Şimdi keySet'ten bir öğeyi kaldırmaya çalışalım ve orijinal HashMap'imizi etkilediğinden emin olalım .

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);
   }
}
Çıktı:
haritanın tuşları: [1, 2, 3, 4, 5] myKeySet'ten bir öğe kaldırdıktan sonra myHashMap: {1=John, 2=Ivy, 3=Ricky, 5=Alex} haritanın tuşları: [1, 2 , 3, 5]
Gördüğünüz gibi, Set'ten bir "4" anahtarını kaldırdık ve bu, HashMap'imizden bir "4-Alex" çiftinin kaldırılmasıyla sonuçlandı . Şimdi keySet() işlevine bir anahtar eklemeye çalışalım :

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);

   }
}
Bu durumda bir İstisna alacağız, çünkü keySet'imiz hashMap'imize bağlı :
haritanın tuşları: [1, 2, 3, 4, 5] Java.base/java.util.AbstractCollection.add(AbstractCollection.java:251) konumunda KeySetDemo.main adresindeki "main" java.lang.UnsupportedOperationException ileti dizisinde istisna (KeySetDemo.java:20) İşlem, çıkış kodu 1 ile tamamlandı
Yorumlar
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION