初学hadoop之--------java中的for each语句----for (IntWritable val : values)

来源:互联网 发布:python xml dom 编辑:程序博客网 时间:2024/04/29 21:02
前面声明了:Iterable<IntWritable> values;------------声明了values是一个聚集元素集:a set of elements of type T,可以不太准确的将其理解为一数组。没有使用Iterable时,for循环写成:
for(int i=0; i<array.size(); i++) { ... get(i) ... }
使用迭代器之后
对IntWritable类型的数组或集合values进行遍历,用jdk1.5的for each,写法如下:
for(IntWritable val : values) {     System.out.println(val);}
Iterable达到了解耦效果的意思是:使用传统的for循环时,访问代码和集合本身是紧耦合,无法将访问逻辑从集合类和客户端代码中分离出来,每一种集合对应一种遍历方法,客户端代码无法复用。
更恐怖的是,如果以后需要把ArrayList更换为LinkedList,则原来的客户端代码必须全部重写
为解决以上问题,Iterator模式总是用同一种逻辑来遍历集合。------摘自:http://xu20cn.blog.51cto.com/274020/74075---文章写的很好


原创粉丝点击