HashMap: Mengurus Berbilang Nilai untuk Satu Kunci
Soalan:
Adakah mungkin untuk menyimpan dan mendapatkan semula berbilang nilai yang dikaitkan dengan kunci yang sama dalam HashMap? Jika ya, bagaimanakah saya boleh mengakses nilai ketiga untuk kunci pertama?
Jawapan:
Walaupun HashMap standard tidak boleh menyimpan kunci pendua, adalah mungkin untuk melaksanakan Struktur seperti HashMap yang membenarkan berbilang nilai untuk satu kunci menggunakan Peta Senarai. Berikut ialah penyelesaian Java biasa:
<code class="java">import java.util.HashMap; import java.util.ArrayList; public class MultiValueMapDemo { public static void main(String[] args) { // Create a Map of List to store key-value pairs Map<Object, ArrayList<Object>> multiMap = new HashMap<>(); // Add key-value pairs multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value1"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value2"); multiMap.computeIfAbsent("keyA", k -> new ArrayList<>()).add("value3"); // Get the third value for the first key Object thirdValue = multiMap.get("keyA").get(2); System.out.println("Third value for keyA: " + thirdValue); } }</code>
Pendekatan ini mencipta HashMap di mana nilai yang dikaitkan dengan kunci disimpan dalam Senarai. Untuk mengakses nilai tertentu, anda boleh menggunakan kaedah get() pada objek Senarai yang diambil daripada HashMap. Dalam contoh ini, nilai ketiga untuk kunci "keyA" diakses menggunakan multiMap.get("keyA").get(2).
Atas ialah kandungan terperinci Bagaimanakah anda boleh menyimpan dan mendapatkan semula berbilang nilai yang dikaitkan dengan kunci yang sama dalam HashMap?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!