我正在阅读MapReduce的论文(MapReduce),看到下面的语句:
中间值提供给用户的reduce函数通过一个迭代器。这也允许我们处理值列表
这是否意味着使用迭代器与大列表的内存使用之间存在关系?
区别在于支持Iterator
的内容不一定必须在内存中。List
的内容通常是,但是您可以编写一个Iterator<Integer>
,它读取磁盘上的文件并按顺序返回值。