Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 21.04.2016, 19:18   #1
Ivan_FX
 
Регистрация: 07.04.2016
Сообщений: 3
По умолчанию Java For-loop

Как дополнить этот цикл, чтобы так же удалялись ключи?

Код:
Map<String, List<Place>> placeByName = new HashMap<>();
 
for (Iterator<Map.Entry<String, List<Place>>> it = placeByName.entrySet().iterator(); it.hasNext();)
{
    Map.Entry<String, List<Place>> entry = it.next();
 
    List <Place> temp = entry.getValue();
    Iterator<Place> iter = temp.iterator();
 
    while(iter.hasNext())
    {
        Place place = iter.next();
        if (place.getPicked() == true)
        {
           iter.remove();
        }
     }
 }
Ivan_FX вне форума Ответить с цитированием
Старый 21.04.2016, 20:35   #2
GreenWizard
мальчик-помогай =)
Форумчанин
 
Регистрация: 16.09.2010
Сообщений: 522
По умолчанию

тупо it.remove() должен удалять и список, и ключ, вроде
пробуй:
Код:
Map<String, List<Place>> placeByName = new HashMap<>();
 
for (Iterator<Map.Entry<String, List<Place>>> it = placeByName.entrySet().iterator(); it.hasNext();)
{
    Map.Entry<String, List<Place>> entry = it.next();
 
    List <Place> temp = entry.getValue();
    Iterator<Place> iter = temp.iterator();
 
    while(iter.hasNext())
    {
        Place place = iter.next();
        if (place.getPicked() == true) {
           iter.remove();
        }
     }
    if(temp.empty()) it.remove(); // или не empty()
 }

Последний раз редактировалось GreenWizard; 21.04.2016 в 20:38.
GreenWizard вне форума Ответить с цитированием
Старый 21.04.2016, 21:29   #3
Ivan_FX
 
Регистрация: 07.04.2016
Сообщений: 3
По умолчанию

Спасибо за решение , всё работает.
Ivan_FX вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
two while loop problem gadir Помощь студентам 6 08.11.2012 16:37
For Loop NIME C# (си шарп) 2 16.10.2012 11:19
fasm : loop Warn Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 3 27.04.2012 16:39
Проблема с ошибкой.FOR-Loop variable 'i' may be undefined after loop Loadgame Помощь студентам 1 15.11.2011 23:08
Вычитание и LOOP lordus Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM 1 14.11.2009 17:20