Hapus kunci dari hashmap [duplikat]

Saat ini saya memiliki masalah dengan menghapus kunci di peta hash. Saya membuat peta hash di dalam peta hash. Saya perlu menghapus kunci dengan nilai di dalam peta hash di dalam peta hash. Jadi peta hashnya terlihat seperti ini:

HashMap<String, String> people_attributes = new HashMap<String, String>();
Map<String, HashMap<String, String>> people = new HashMap<String, HashMap<String, String>>();

Jika saya mencoba menghapus kunci, ganti remove_name.add(p_name) dengan people.remove(p_name) Saya mendapatkan java.util.ConcurrentModificationException. Saat ini, saya menggunakan daftar array untuk menambahkan kunci yang perlu dihapus, lalu menelusuri daftar array untuk menghapus kunci dari peta hash.

Sejauh ini solusinya adalah:

for(String p_name : people.keySet()) { // search through people with attribute
   for(String p_attributes : people.get(p_name).keySet()) { // search through attributes map
       if(p_attributes.equals(g_att)) { // when current attributes equal to guess attribute
          p_value = people.get(p_name).get(p_attributes);
             if(!p_value.equals(g_value)) { // if current value doesn't equal to guess value
                  remove_name.add(p_name);
             }
       }                 
   }
}

for(String r_name : remove_name) {
   people.remove(r_name);
}

Sunting:

Masalah: Saya tahu saya bisa menggunakan iterator, seperti semua pertanyaan lain yang diajukan di stackoverflow, tapi saya tidak tahu cara mengulang dua kali untuk masuk ke peta hash people_attributes.


person Jay Lee    schedule 07.05.2018    source sumber
comment
Maaf, saya telah menutup pertanyaan Anda karena kami sudah memiliki pertanyaan serupa di sini. Jika maksud Anda lebih spesifik, harap edit postingan untuk memperjelasnya, dan kami akan membukanya kembali.   -  person Andrew Tobilko    schedule 07.05.2018
comment
@Andrew Saya tidak mengerti cara mengulang while(it.hasNext()) dua kali untuk mendapatkan peta hash people_attributes   -  person Jay Lee    schedule 07.05.2018
comment
apa yang kamu maksud dengan dua kali? menulis dua pernyataan while berturut-turut?   -  person Andrew Tobilko    schedule 08.05.2018