Iterate twice on values (MapReduce)

前端 未结 11 1074
轮回少年
轮回少年 2020-11-29 07:22

I receive an iterator as argument and I would like to iterate on values twice.

public void reduce(Pair key, Iterator          


        
11条回答
  •  一整个雨季
    2020-11-29 08:25

    if you want to change values as you go, i guess it's better to use listIterator then use its set() method.

    ListIterator lit = list.listIterator();
    while(lit.hasNext()){
       String elem = (String) lit.next();
       System.out.println(elem);
       lit.set(elem+" modified");
    }
    lit = null; 
    lit = list.listIterator();
    while(lit.hasNext()){
       System.out.println(lit.next());
    }
    

    Instead of calling .previous(), I just get another instance of the .listIterator() on the same list iterator object.

提交回复
热议问题