keySet ()ส่งคืนชุดคีย์จากแฮชแมปของคุณเท่านั้นคุณควรทำซ้ำชุดคีย์นี้และรับค่าจากแฮชแมปโดยใช้คีย์เหล่านี้
ในตัวอย่างของคุณประเภทของคีย์ของแฮชแมปคือTypeKey
แต่คุณระบุไว้TypeValue
ใน for-loop ทั่วไปดังนั้นจึงไม่สามารถคอมไพล์ได้ คุณควรเปลี่ยนเป็น:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
อัพเดตสำหรับ Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
หากคุณไม่ต้องการพิมพ์ค่าคีย์และต้องการค่าแฮชแมปคุณสามารถใช้คำแนะนำของผู้อื่นได้
คำถามอื่น: คอลเลกชันนี้เป็นศูนย์หรือไม่? ฉันหมายความว่าถ้ามี 1 คีย์และค่าขนาดจะเป็น 0 หรือ 1?
คอลเลกชันที่ส่งคืนจากkeySet()
เป็นชุดคุณไม่สามารถรับค่าจากชุดโดยใช้ดัชนีได้ดังนั้นจึงไม่เป็นคำถามว่าเป็นแบบศูนย์หรือฐานเดียว หากแฮชแมปของคุณมีคีย์เดียวชุดคีย์ () ที่ส่งคืนจะมีหนึ่งรายการอยู่ข้างในและขนาดของมันจะเป็น 1
Map
'ssize()
วิธีการ : ' ส่งกลับจำนวนของแมปคีย์ค่าในแผนที่นี้ถ้าแผนที่มีมากกว่าInteger.MAX_VALUE
องค์ประกอบผลตอบแทนInteger.MAX_VALUE
.'