keySet () hanya mengembalikan satu set kunci dari hashmap Anda, Anda harus iterate set kunci ini dan dapatkan nilai dari hashmap menggunakan kunci-kunci ini.
Dalam contoh Anda, tipe kunci hashmap adalah TypeKey
, tetapi Anda tentukan TypeValue
dalam for-loop generik Anda, sehingga tidak dapat dikompilasi. Anda harus mengubahnya ke:
for (TypeKey name: example.keySet()){
String key = name.toString();
String value = example.get(name).toString();
System.out.println(key + " " + value);
}
Pembaruan untuk Java8:
example.entrySet().forEach(entry->{
System.out.println(entry.getKey() + " " + entry.getValue());
});
Jika Anda tidak perlu mencetak nilai kunci dan hanya membutuhkan nilai hashmap, Anda dapat menggunakan saran orang lain.
Pertanyaan lain: Apakah koleksi ini nol basis? Maksud saya jika memiliki 1 kunci dan nilainya apakah ukurannya 0 atau 1?
Koleksi yang dikembalikan dari keySet()
adalah Set . Anda tidak bisa mendapatkan nilai dari Set menggunakan indeks, jadi itu bukan pertanyaan apakah itu berbasis nol atau berbasis satu. Jika hashmap Anda memiliki satu kunci, keySet () yang dikembalikan akan memiliki satu entri di dalamnya, dan ukurannya adalah 1.
Map
'ssize()
metode : ' Pengembalian jumlah pemetaan kunci-nilai dalam peta ini Jika peta berisi lebih dariInteger.MAX_VALUE
elemen, kembaliInteger.MAX_VALUE
.'