«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как безопасно удалить элементы с карты во время итерации?

Как безопасно удалить элементы с карты во время итерации?

Опубликовано в 2025-03-25
Просматривать:515

How to Safely Remove Elements from a Map While Iterating?

итерация над и удаляя элементы с карты: улучшенное решение

При попытке итерации по ключам карты и удаляет элементы условно, вы можете столкнуться с согласованной имидификацией. Чтобы решить эту проблему, рекомендуется создать новую коллекцию из набора ключей карты и вместо этого итерация над этим. Однако этот подход может быть неэффективным и сложным.

более эффективное решение - использовать метод интерфейса итератора rement (). Это позволяет вам напрямую модифицировать карту, а также итерация над ней. Вот пример:

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

for (Iterator> it = map.entrySet().iterator(); it.hasNext(); ) {
    Map.Entry entry = it.next();
    if (entry.getKey().equals("test")) {
        it.remove();
    }
}

этот образец кода иллюстрирует, как использовать итератор в цикле для удаления записи с карты. Используя метод remove (), вы можете эффективно обновить содержимое карты, а также итерация над его записями. Этот подход устраняет необходимость в дополнительных блоках синхронизации, что делает его более чистым и более эффективным решением.

]
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3