Java 中如何对 Iterator<Text> values 实现两次遍历

Posted GeoWin_CAU

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 中如何对 Iterator<Text> values 实现两次遍历相关的知识,希望对你有一定的参考价值。

Just like this!!!!!!!!!!!!!!!!

===============================================================

 public static class Reduce extends MapReduceBase implements
  Reducer<IntWritable, Text, NullWritable, Text> {
 
    @Override
    public void reduce(IntWritable dummy, Iterator<Text> values,
        OutputCollector<NullWritable, Text> output, Reporter reporter)
            throws IOException { 
    	
    	List<Text> cache = new ArrayList<Text>();

    	// first loop and caching   
    	while (values.hasNext()) {
    		 
    	   cache.add(new Text(values.next()));
    		  
    	}
    	 
    	// second loop 
    	for(Text p:cache) {
    	 
           output.collect(NullWritable.get(), p);
       	 
    	} 
      
    }
  }  


以上是关于Java 中如何对 Iterator<Text> values 实现两次遍历的主要内容,如果未能解决你的问题,请参考以下文章

Java 中如何对 Iterator<Text; values 实现两次遍历

Java 如何优雅的在循环中删除元素

如何理解 Java 中的 `Iterable` 和 `Iterator`? [复制]

我将如何在 Java 中迭代堆栈 [关闭]

Java中的Iterable与Iterator详解

Java中的Iterable与Iterator详解