Добрый день! Никак не уясню смысл жизни и суть происходящего с итераторами при работе с коллекциями HashMap. Смысл жизни подождет (ХС), а вот с итераторами хочу разобраться сразу. Начитка различных статей из инета до конца прояснить все вопросы не помогла. Хотя я понял, что такое итератор и для чего он нужен. Вопрос следующий. Есть стандарный код: HashMap tempMap = new HashMap(); Если своими словами, то его суть в следующем: В переменную tempMap класса HashMap, хранящего данные структуры заносится новый объект класса HashMap, хранящего данные структуры . Структура данных сотавляет два объекта типа String. Это мне понятно. А вот аналогичный код с итерератором: Iterator> iterator = tempMap.entrySet().iterator(); Пытаюсь его описать для себя приведенным выше образом: В переменную iterator класса Iterator, хранящего данные структуры > заносится новый объект, являющийся результатом выполнения 1) метода entrySet() с переменной tempMap, 2) метода iterator() с результатом, полученным при выполнении п. 1. Теперь "откровенные" вопросы к "старшим товарищам по партии": 1. Как правильно читать структуру данных > и как понимать эту ее часть Map.Entry? Это вызов какого-то метода класса Map? Хотя Map это интерфейс, а не класс. Что такое интерфейсы пока не разобрался. 2. Правильно ли я описал выполнение tempMap.entrySet().iterator(), включая последовательность действий? 3. Нахера Почему здесь присутсвует entrySet? В чем его роль? С уважением, Зеленая лягушка.