Java 增强for循环的最后一次迭代

Java 增强for循环的最后一次迭代,java,collections,Java,Collections,我试图使用增强的for循环在Iterable上循环,但无法确定最后一个值是何时处理的 public void apply(Tuple key, GlobalWindow w, Iterable<Tuple5<String, Long, List<Lane>, Long, Long>> itrbl, Collector<T

我试图使用增强的for循环在Iterable上循环,但无法确定最后一个值是何时处理的

     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;
          }
       }

在for循环中并不是这方面的解决方案

。对于的增强型-
将贯穿iterable的所有元素,并且无法识别结束时间

for(Iterator<Tuple5> tuplIter = iterbl.iterator(); tuplIter.hasNext(); ) {
    Tuple5 tupl = tuplIter.next();

    // check for next
    if(!tuplIter.hasNext()) {
        // logic for processing the last tuple
    }
}
for(迭代器tuplill=iterbl.Iterator();tuplill.hasNext();){
Tuple5 tupl=tuplill.next();
//检查下一个
如果(!tuplill.hasNext()){
//处理最后一个元组的逻辑
}
}
for(Iterator<Tuple5> tuplIter = iterbl.iterator(); tuplIter.hasNext(); ) {
    Tuple5 tupl = tuplIter.next();

    // check for next
    if(!tuplIter.hasNext()) {
        // logic for processing the last tuple
    }
}