Вопрос пользователя Катерина Шевцова в уроке «Модуль 1. Урок 1. Iterator.», курс «Java: Структуры данных»

Катерина Шевцова

немного не понятно, в каких именно случаях мы будем иметь дело со статическим итератором?

1 0

Andy

Ну, в не статической реализации (именно данной реализации, без конструктора и без принятия на его вход какого-либо массива извне) мы привязаны к родительскому классу и его полю с массивом данных. От привязки к данным можно уйти, сделав конструктор, принимающий данные извне, но самое серьезное - это то, что для создания экземпляра inner-класса нам сначала надо создать экземпляр родительского. Это лишний код и занятое место в памяти.

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

Если что, пусть менторы поправят.

1

Есть вопрос или хотите участвовать в обсуждении?

Зарегистрируйтесь или войдите в свой аккаунт

Нажимая кнопку «Зарегистрироваться», вы даёте своё согласие на обработку персональных данных в соответствии с «Политикой конфиденциальности» и соглашаетесь с «Условиями оказания услуг». Защита от спама reCAPTCHA «Конфиденциальность» и «Условия использования».

Похожие вопросы

Владислав Бережной 26 апреля 2020 →

Добрый день! А если я создаю свой класс, который имплементит интератор, то я могу в классе использовать for...

Владислав Бережной 24 апреля 2020 →

У этого курса будет продолжение или он законченный? В первом уроке говорилось про 7 модулей.

Daria Tsvetkova 06 апреля 2020 →

Объясните, пожалуйста, отличие Iterable от Iterator?

Сергей Сотников 24 января 2018 →

Не совсем понятно для чего джава, прежде чем выполнять тело цикла, выполняет метод hasNext(). Можно ведь с...

Максим Пешков 30 октября 2017 →

Здравствуйте. Не совсем понимаю часть 12:58 на видео, которая "у нас есть родитель Game.this.players". Как-...