CodeGym /จาวาบล็อก /สุ่ม /วิธีใช้เมธอดชุดคีย์ใน java.util.Map
John Squirrels
ระดับ
San Francisco

วิธีใช้เมธอดชุดคีย์ใน java.util.Map

เผยแพร่ในกลุ่ม
หากคุณต้องการรับคีย์ทั้งหมดที่แผนที่ ของคุณ มีอยู่ คุณสามารถใช้เมธอดjava.util.HashMap.keySet() ที่มีประโยชน์จริงๆ ในบทความนี้เราจะอธิบายวิธีการทำงาน อย่างที่คุณทราบ คลาส HashMapใช้ อินเทอร์เฟซ แผนที่ดังนั้นในตัวอย่างเราจะใช้เมธอด HashMap keySet()

ลายเซ็นเมธอด HashMap keySet() และหลักการทำงาน

เมธอดSet<K> keySet() ส่งคืนมุมมอง Setของคีย์ที่มีอยู่ในแผนที่นี้ คุณลักษณะของคอลเลกชัน 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 : John 2 : Ivy 3 : Ricky 4 : Andrew 5 : Alex
ตอนนี้ มาลองลบองค์ประกอบออกจากชุดคีย์และตรวจสอบให้แน่ใจว่าองค์ประกอบนั้นมีผลกับ 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" ออกจากSetและส่งผลให้มีการลบคู่ "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);

   }
}
ในกรณีนี้ เราจะได้รับข้อยกเว้น เนื่องจากชุดคีย์ ของเรา เชื่อมต่อกับhashMap :
ปุ่มของแผนที่: [1, 2, 3, 4, 5] ข้อยกเว้นในเธรด "main" 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