CodeGym /Java Blog /Random /Paano gamitin ang keySet method sa java.util.Map
John Squirrels
Antas
San Francisco

Paano gamitin ang keySet method sa java.util.Map

Nai-publish sa grupo
Kung kailangan mong makuha ang lahat ng mga key na nilalaman ng iyong Map , maaari mong gamitin ang talagang madaling gamitin na java.util.HashMap.keySet() na pamamaraan. Sa artikulong ito, ipapaliwanag namin kung paano ito gumagana. Tulad ng alam mo, ang klase ng HashMap ay nagpapatupad ng Map interface, kaya sa mga halimbawa ay gagamitin natin ang HashMap keySet() na paraan.

Ang lagda ng pamamaraan ng HashMap keySet() at prinsipyo ng pagpapatakbo

Ang set<K> keySet() method ay nagbabalik ng Set view ng mga key na nakapaloob sa mapang ito. Ang tampok ng koleksyon na ito ng Set, na nagpapanatili ng mga susi, ay hindi maaaring magkaroon ng mga dobleng elemento dito. Ang set ay sinusuportahan ng mapa. Ibig sabihin, kung may binago sa mapa, makikita ito sa set, at kabaliktaran. Halimbawa, maaari kang mag-alis ng mga item mula sa hanay na ito, at ang mga susi at ang mga katumbas na halaga ng mga ito ay awtomatikong aalisin sa mapa, ngunit hindi ka makakapagdagdag ng mga bagong item dito.

Mga halimbawa ng HashMap keySet().

Gumawa tayo ng HashMap na may mga pangalan ng ating mga kaibigan at kanilang mga digital key at pagkatapos ay i-print ang Set ng mga key gamit ang HashMap keySet() method.

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);
Ang output ay:
mga susi ng mapa: [1, 2, 3, 4, 5]
Bukod sa java.util.HashMap.keySet() na pamamaraan sa Java mayroong isang entrySet() na pamamaraan, nagbabalik din ito ng Set , ngunit ang set na ito ay naglalaman ng mga pares ng key-value. Narito ang isang halimbawa sa parehong java.util.HashMap.keySet() at java.util.HashMap.entrySet() na mga pamamaraan:

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());
       }
   }
}
Narito ang output:
mga susi ng mapa: [1, 2, 3, 4, 5] mga susi at halaga ng mapa: 1 : John 2 : Ivy 3 : Ricky 4 : Andrew 5 : Alex
Ngayon subukan nating mag-alis ng isang elemento mula sa keySet at tiyaking makakaapekto ito sa aming orihinal na 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);
   }
}
Ang output ay:
mga key ng mapa: [1, 2, 3, 4, 5] myHashMap pagkatapos alisin ang isang elemento sa myKeySet: {1=John, 2=Ivy, 3=Ricky, 5=Alex} na mga key ng mapa: [1, 2 , 3, 5]
Gaya ng nakikita mo, inalis namin ang isang key na "4" mula sa Set , at nagresulta ito sa pag-alis ng isang pares na "4-Alex" mula sa aming HashMap . Ngayon subukan nating magdagdag ng susi sa 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);

   }
}
Sa kasong ito, makakakuha tayo ng Exception, dahil nakakonekta ang ating keySet sa ating hashMap :
mga key ng mapa: [1, 2, 3, 4, 5] Exception sa thread na "main" java.lang.UnsupportedOperationException sa java.base/java.util.AbstractCollection.add(AbstractCollection.java:251) sa KeySetDemo.main (KeySetDemo.java:20) Natapos ang proseso gamit ang exit code 1
Mga komento
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION