Rumah > Java > javaTutorial > teks badan

Bagaimana untuk Mengalih Keluar Elemen dengan Selamat daripada Peta Semasa Mengulang?

Mary-Kate Olsen
Lepaskan: 2024-11-17 11:21:02
asal
576 orang telah melayarinya

How to Safely Remove Elements from a Map While Iterating?

Mengulang dan Mengalih Keluar Elemen daripada Peta: Penyelesaian yang Diperbaiki

Apabila cuba mengulangi kekunci peta dan mengalih keluar elemen secara bersyarat, anda mungkin menghadapi ConcurrentModificationException. Untuk menangani perkara ini, adalah disyorkan untuk membuat koleksi baharu daripada set kunci peta dan mengulanginya. Walau bagaimanapun, pendekatan ini boleh menjadi tidak cekap dan kompleks.

Penyelesaian yang lebih berkesan ialah menggunakan kaedah remove() antara muka Iterator. Ini membolehkan anda mengubah suai peta secara terus sambil mengulanginya. Berikut ialah contoh:

Map<String, String> map = new HashMap<>();
map.put("test", "test123");
map.put("test2", "test456");

for (Iterator<Map.Entry<String, String>> it = map.entrySet().iterator(); it.hasNext(); ) {
    Map.Entry<String, String> entry = it.next();
    if (entry.getKey().equals("test")) {
        it.remove();
    }
}
Salin selepas log masuk

Sampel kod ini menggambarkan cara menggunakan Iterator dalam gelung for untuk mengalih keluar masukan daripada peta. Dengan memanfaatkan kaedah remove(), anda boleh mengemas kini kandungan peta dengan cekap sambil mengulangi entrinya. Pendekatan ini menghapuskan keperluan untuk blok penyegerakan tambahan, menjadikannya penyelesaian yang lebih bersih dan cekap.

Atas ialah kandungan terperinci Bagaimana untuk Mengalih Keluar Elemen dengan Selamat daripada Peta Semasa Mengulang?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan