0
향상된 for 루프를 사용하여 Iterable을 반복하려고하지만 처리중인 마지막 값을 확인할 수 없습니다. 이 주제와 관련된향상된 for 루프의 마지막 반복
public void apply(Tuple key,
GlobalWindow w,
Iterable<Tuple5<String, Long, List<Lane>, Long, Long>> itrbl,
Collector<Tuple5<String, Long, List<Lane>, Long, Long>> clctr) throws Exception {
long cachedUmlaufSekunde = 0;
long currentUmlaufSekunde = 0;
long maxUmlaufSekunde = 0;
for(Tuple5 tuple:itrbl) {
maxUmlaufSekunde = (long)tuple.getField(4);
currentUmlaufSekunde = ((long)tuple.getField(1)/10)*10;
if(currentUmlaufSekunde == (cachedUmlaufSekunde + 10)) {
cachedUmlaufSekunde = currentUmlaufSekunde;
} else {
cachedUmlaufSekunde = cachedUmlaufSekunde + 10;
}
}
많은 질문은 마지막 요소를 결정하기 위해 기능 iterator.hasNext()를 사용하는 것이 좋습니다하지만 루프에 대한 해결책 아니다 내 나는
itrbl.iterator.hasNext();
같은 것을 사용하여 같아요 이것 때문에.