Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> for - Цикл и List Iterator 
:(
    Опции темы
Entwickler
Дата 9.7.2010, 20:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



привет всем!!!

вот такой вопросик... есть цикл FOR должен пробежать массив с элементами, а внутри ещё и итератор который бегает по листу с сравнивает элементы массива и элементы листа...
Код

for(int i = 0; i < elementList.getLength(); i++) {
  Node node = elementList.item(i);
    if(checkElementType(node)){
        Element element    = (Element) node;
        String element_id_attr = getElementIdAttr(element);
        while(diffElementIter.hasNext()) {
            String diffElement = (String) diffElementIter.next();
            System.out.println(element_id_attr + "\t" + diffElement);

            if(diffElement.equalsIgnoreCase(element_id_attr)) {
                printElement(element);
            }
        }
    }
}


так вот он заходит в цикл, берёт первый элемент идет дальше, заходит в лист пробигает его (в листе всего 8) елементов и прекращает работу!!! то есть FOR дальше не идет.... он выходит из цикла... а мне нужно чтобы FOR пробугался бы полностью!!! все 329!!! элементов!!!

что может быть такого?
PM MAIL   Вверх
soulcub
Дата 9.7.2010, 21:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.2.2010
Где: Винница, Украина

Репутация: нет
Всего: 2



Оно точно только 1 раз заходит в for? Или просто 1-й раз делает то что нужно, а остальные ни делает ничего?
Есть подозрения что итератор на цикл while пробегает до своего конца, а на следующей итерации diffElementIter.hasNext() - false, потому что в прошлой итерации мы пробежали до конца. Не вижу чего-то типа возвращения в начало diffElementIter. 
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души!
PM MAIL ICQ   Вверх
Entwickler
Дата 9.7.2010, 21:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



а что итератор можно вернуть в начало? как типо ResultSet.beforeFirst ?! незнал... как?
PM MAIL   Вверх
jk1
Дата 9.7.2010, 21:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник
Сообщений: 1168
Регистрация: 17.10.2008
Где: Санкт-Петербург

Репутация: 40
Всего: 75



Итератор нельзя вернуть в начало. Можно брать у коллекции новый итератор каждый раз, когда требуется проход по ней.
Однако в вашем случае скорее всего подойдет цикл for each, пример:
Код

List<String>= ...;
for(String item: list){
System.out.println(item);
}

Итератор, как правило, используют в тех случаях, когда требуется удалять или добавлять элементы по время обхода коллекции.


--------------------
Opinions are like assholes — everybody has one
PM MAIL   Вверх
Entwickler
Дата 9.7.2010, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 285
Регистрация: 14.4.2007

Репутация: нет
Всего: 2



хм... хорошо попробую... спасибо за участие...
PM MAIL   Вверх
soulcub
Дата 9.7.2010, 21:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 130
Регистрация: 2.2.2010
Где: Винница, Украина

Репутация: нет
Всего: 2



Ну я не имел ввиду возвращение на начало в буквальном смысле. Потому и написал "Что-то типа возвращения".
--------------------
Так давай же, поспеши!Отыскать СВОЙ куб души!
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0926 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.