Я столкнулся со странной проблемой при использовании итераторов Java.
В определенной функции я получаю итерируемый объект с именем filelist
, и я выполняю следующее:
System.out.println("First iteration:");
for(Text t : filelist) System.out.println(t);
System.out.println("Second iteration:");
for(Text t : filelist) System.out.println(t);
и вывод:
First iteration:
file2.txt
file1.txt
file1.txt
Second iteration:
filelist
относится к типу Iterable<Text>
. Я работаю с фреймворком Hadoop map/reduce.
Итак, мой вопрос: почему список файлов пуст во втором цикле, если я не изменил его в первом?
filelist
? - person Tunaki   schedule 16.01.2016System.out.println(filelist.getClass().getName());
и расскажите, что получилось. Тем не менее, каким бы ни был тип, если базовая структура данных не изменяется одновременно, этого никогда не должно происходить. - person JB Nizet   schedule 16.01.2016