Saya memiliki HashMap
dengan berbagai kunci dan nilai, bagaimana saya bisa mendapatkan satu nilai?
Saya punya kunci di peta bernama my_code
, itu harus berisi string, bagaimana saya bisa mendapatkannya tanpa harus mengulang melalui peta?
Sejauh ini saya punya ..
HashMap newMap = new HashMap(paramMap);
String s = newMap.get("my_code").toString();
Saya mengharapkan untuk melihat String
, seperti "ABC" atau "DEF" seperti yang saya taruh di sana pada awalnya, tetapi jika saya melakukanSystem.out.println()
saya mendapatkan sesuatu sepertijava.lang.string#F0454
Maaf, saya tidak terlalu paham dengan peta seperti yang mungkin bisa Anda tebak;)
sumber
Jika Anda menyimpan kunci / nilai sebagai string, ini akan berfungsi:
Pertanyaannya adalah apa yang dihuni di HashMap (kunci & nilai)
sumber
Jika Anda akan menggunakan Generik dan mendefinisikan peta Anda sebagai
lalu mengambil nilai sebagai
Anda tidak akan diminta untuk mengetikkan map.get () atau memanggil metode toString untuk mendapatkan nilai String
sumber
Saya khawatir pertanyaan Anda sama sekali tidak jelas. Kunci tidak memiliki "nama"; itu tidak "disebut" apa pun sejauh menyangkut peta - itu hanya kunci, dan akan dibandingkan dengan kunci lain. Jika Anda memiliki banyak jenis kunci, saya sangat menyarankan Anda meletakkannya di peta yang berbeda demi kewarasan.
Jika ini tidak membantu, harap klarifikasi pertanyaan - sebaiknya dengan beberapa kode untuk menunjukkan apa yang Anda maksud.
sumber
map.get(myCode)
sumber
Poin penting untuk dicatat di sini adalah bahwa jika kunci Anda adalah objek dari kelas yang ditentukan pengguna di java, maka jadikan itu titik untuk mengganti metode sama dengan. Karena metode HashMap.get (Object key) menggunakan metode sama dengan untuk mencocokkan nilai kunci. Jika Anda tidak menimpa metode sama dengan maka metode tersebut akan mencoba menemukan nilai hanya berdasarkan referensi kunci dan bukan nilai kunci sebenarnya yang dalam hal ini akan selalu mengembalikan nol.
sumber
Misalkan Anda menyatakan HashMap sebagai: -
Kemudian, kunci dalam peta adalah tipe tipe data karakter dan nilai tipe int. Sekarang, untuk mendapatkan nilai yang sesuai dengan kunci terlepas dari jenis kunci, tipe nilai, sintaksnya adalah: -
Jadi, menurut pertanyaan Anda, Anda ingin mendapatkan nilai string yang sesuai dengan kunci. Untuk ini, cukup deklarasikan HashMap sebagai HashMap <"datatype of key", "datatype of value" hs = new HashMap <> (); Menggunakan ini akan membuat kode Anda lebih bersih dan juga Anda tidak perlu mengubah hasil hs.get ("my_code") menjadi string karena secara default mengembalikan nilai string jika pada saat masuk seseorang menyimpan nilai sebagai string.
sumber
Ini adalah contoh lain tentang cara menggunakan fungsi keySet (), get (), values () dan entrySet () untuk mendapatkan Kunci dan Nilai dalam Peta:
sumber
Anda dapat menggunakan metode get (Object key) dari HashMap. Sadarilah bahwa dalam banyak kasus, Kelas Kunci Anda harus mengganti metode sama dengan, untuk menjadi kelas yang berguna untuk kunci Peta.
sumber
Nilai yang dipetakan ke Kunci
4
adalahDD
sumber