Здравствуйте, подскажите, пожалуйста, вот у нас есть способ описания цикла для мапы через while и итераторы:
Iterator<Map.Entry<String, Date>> iterator = map.entrySet().iterator();
while (iterator.hasNext())
{
//получение «пары» элементов
Map.Entry<String, Date> pair = iterator.next();
String key = pair.getKey();
Date value = pair.getValue();
Вопросы такие:
1) Можете, пожалуйста, чуть подробнее пояснить про iterator.hasNext() -- Я понимаю что оно проверяет есть ли в мапе следующий элемент или нет, но какое у него первоначальное значение(ссылка на первый элемент)?
2) После выхода из цикла что будет храниться в итераторе(ссылка на последний элемент мапы?)?
3) Если я хочу опять пройтись циклом по всем значениям мапы, мне нужно создавать новый итератор, либо старый итератор можно опять присвоить к первому элементу как-то?
4) Можно ли удалять элементы мапы внутри цикла for each или же только через итераторное представление?
5) Если я хочу сделать цикл внутри цикла, проходящий по элементам одной мапы(как для сортировок, например) Мне нужно будет создать два итератора?
Возможно я немного криво сформулировал свои вопросы,извините,
заранее, большое вам спасибо за ответы и помощь!