Iterator<Map.Entry<String,String>> iterator = map.entrySet().iterator();
Я правильно понимаю что это: Итератор,типом которого является пара: ключ значения и ссылающийся на множество таких пар?Кирилл
19 уровень
Вопрос по Итератору
Решен
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
hidden #2322530
25 октября 2020, 12:35решение
не совсем.
тип объекта это Iterator, но он параметризирован типом Map.Entry<String,String>, значит что iterator.next() будет возвращать объекты именно этого типа.
если этого не сделать, то будет создан Iterator<Object>, а значит любой iterator.next() будет иметь тип Object. и для работы с ним придётся каждый раз делать приведение.
Iterator это немного сложнее, чем ты себе представляешь, он нужен, для работы с коллекциями. в момент работы коллекции создаётся "копия" этой коллекции, по которой он проходит. по результату копия, становится основной. нужно это для того, чтобы например изменять коллекции во время их чтения.
Iterator'у можно передать те коллекции, у которых реализован интерфейс Iterable, и соответственно реализованы нужные методы.
+2
Кирилл
25 октября 2020, 12:46
Да я как раз таки имел ввиду что он параметризирован типом Map.Entry<String,String>,
получается что iterator.next() возвращает объекты интерфейса Map.Entry<String,String>,которые в свою очередь имеют методы для получения ключа и значения из множества таких объектов( map.entrySet())?
0
hidden #2322530
25 октября 2020, 12:53
в общем, да. если кратко.
тут можно написать много буковок про отличие наследования от полиморфизма, но это к вопросу дела не имеет.
0