Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > объясните, пожалуйста код


Автор: rlepricon 8.9.2014, 17:04
привет...

Совсем запутался, есть в коде такой вот кусок:

for (CardTerminal terminal : list()) {
    if (terminal.getName().equals(name)) {
        return terminal;
    }
}

Как я понимаю он в цикле делает перебор значений, но как его можно сделать обычным циклом, то есть привести к виду
for(int i=0;i<counter;i++) {
    Обработка
}

Спасибо.

Автор: Stolzen 8.9.2014, 17:26
Зачем вам приводить этот код к "обычному" циклу? 
В первом случае вы просто перебираете элементы коллекции в определенном порядке - и никакой возни с индексами и прочим. 

Если очень хочется именно второй способ, и в качестве коллекции у вас ArrayList (или любой другой RandomAccess список), то можно использовать метод get():

Код

for (int i = 0; i < list.size(); i++) {
    list.get(i);
}

Автор: rlepricon 8.9.2014, 17:59
Спасибо smile

Действительно туплю smile.

А нужно это, потому что в java 1.4 не поддерживается List<> :-( приходиться выкручиваться...

Автор: math64 9.9.2014, 15:41
Лучше так:
Код

for(ListIterator it = list().iterator(); it.hasNext();) {
   CardTerminal terminal = (CardTerminal)it.next();
   ...
}

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)