помогите разобраться с итератором

 
 
 
Сообщения:30
vps:
Или Вы выложили не полный код, или переменная "indexPosition" лишняя, то есть ей нигде не присваивается значение.

вы про hasNext или про next?

такой вариант возможен? без indexPosition
        @Override
        public boolean hasNext() {
            if (bucketPosition < hashTable.length) {
                return true;
            }
            return false;
        }


пробовал в next() написать такое

            if (hashTable[bucketPosition] == null) {
                return hashTable[bucketPosition++].get(indexPosition);
            } else {
                if (indexPosition < hashTable[bucketPosition].size()) {
                    return hashTable[bucketPosition].get(indexPosition++);
                } else {
                    indexPosition = 0;
                    bucketPosition++;
                    return hashTable[bucketPosition].get(indexPosition);
                }
            }

выводит все элементы
но некоторые объекты выводит по 2 раза
Изменен:30 июн 2016 16:57
 
 
Сообщения:158
На мой взгляд, код получается не лучше, чем был. Также логика проверки на существование следующего элемента размазана уже по обоим методам.
 
 
Сообщения:30
просто хотел в вашем коде перенести логику в next ) разобраться и упростить)
 
Модераторы:Нет
Сейчас эту тему просматривают:Нет