CodeGym /Blog Java /rawak /Cara menggunakan kaedah keySet dalam java.util.Map
John Squirrels
Tahap
San Francisco

Cara menggunakan kaedah keySet dalam java.util.Map

Diterbitkan dalam kumpulan
Jika anda perlu mendapatkan semua kunci yang terkandung dalam Peta anda , anda boleh menggunakan kaedah java.util.HashMap.keySet() yang sangat berguna . Dalam artikel ini, kami akan menerangkan cara ia berfungsi. Seperti yang anda ketahui, kelas HashMap melaksanakan antara muka Peta , jadi dalam contoh kita akan menggunakan kaedah HashMap keySet() .

tandatangan kaedah HashMap keySet() dan prinsip operasi

Kaedah Set<K> keySet() mengembalikan paparan Set kekunci yang terkandung dalam peta ini. Ciri koleksi Set ini, yang menyimpan kunci, ialah tidak boleh ada unsur pendua di dalamnya. Set disokong oleh peta. Ini bermakna jika sesuatu telah diubah dalam peta, ia dicerminkan dalam set, dan begitu juga sebaliknya. Contohnya, anda boleh mengalih keluar item daripada set ini dan kekunci serta nilai yang sepadan dialih keluar secara automatik daripada peta, tetapi anda tidak boleh menambah item baharu di dalamnya.

Contoh HashMap keySet().

Mari buat HashMap dengan nama rakan kita dan kekunci digital mereka dan kemudian cetak Set kekunci menggunakan kaedah 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);
Outputnya ialah:
kunci peta: [1, 2, 3, 4, 5]
Selain kaedah java.util.HashMap.keySet() dalam Java terdapat kaedah entrySet() , ia juga mengembalikan Set , tetapi set ini mengandungi pasangan nilai kunci. Berikut ialah contoh dengan kaedah java.util.HashMap.keySet() dan 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());
       }
   }
}
Berikut adalah outputnya:
kekunci peta: [1, 2, 3, 4, 5] kekunci dan nilai peta: 1 : John 2 : Ivy 3 : Ricky 4 : Andrew 5 : Alex
Sekarang mari cuba mengalih keluar elemen daripada keySet dan pastikan ia mempengaruhi HashMap asal kami .

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);
   }
}
Outputnya ialah:
kekunci peta: [1, 2, 3, 4, 5] myHashMap selepas mengalih keluar elemen daripada myKeySet: {1=John, 2=Ivy, 3=Ricky, 5=Alex} kekunci peta: [1, 2 , 3, 5]
Seperti yang anda boleh lihat, kami mengalih keluar kekunci "4" daripada Set , dan ia mengakibatkan mengalih keluar sepasang "4-Alex" daripada HashMap kami . Sekarang mari cuba tambah kunci pada 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);

   }
}
Dalam kes ini, kami akan mendapat Pengecualian, kerana keySet kami disambungkan ke hashMap kami :
kunci peta: [1, 2, 3, 4, 5] Pengecualian dalam utas "utama" java.lang.UnsupportedOperationException di java.base/java.util.AbstractCollection.add(AbstractCollection.java:251) di KeySetDemo.main (KeySetDemo.java:20) Proses selesai dengan kod keluar 1
Komen
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION