java中为什么要使用迭代器
来源:互联网 发布:四连拍的软件是什么 编辑:程序博客网 时间:2024/06/05 20:26
迭代模式是访问集合类的通用方法,只要集合类实现了Iterator接口,就可以用迭代的方式来访问集合类内部的数据,Iterator访问方式把对不同集合类的访问逻辑抽象出来,使得不用暴露集合内部的结构而达到循环遍历集合的效果。
例如,如果没有使用Iterator,遍历一个数组的方法是使用索引:
- for(int i=0; i<array.length; i++) { ... get(i) ... }
这种方法的缺点就是事先必须知道集合的数据结构,而且当我换了一种集合的话代码不可重用,要修改,比如我用set,就不能通过索引来遍历了。访问代码和集合是紧耦合,无法将访问逻辑从集合类和客户端代码中剥离出来,每一种集合类对应一种访问方式,代码不可重用。
为解决以上问题,Iterator模式总是用同一种逻辑来遍历集合。
每一种集合类返回的Iterator具体类型可能不同,Array可能返回ArrayIterator,Set可能返回SetIterator,Tree 可能返回TreeIterator,但是它们都实现了Iterator接口,因此,客户端不关心到底是哪种Iterator,它只需要获得这个 Iterator接口即可,这就是面向对象的威力。
这就是针对抽象编程的原则:对具体类的依赖性最小。
- java中为什么要使用迭代器
- java中为什么要使用迭代器
- 为什么Java中要使用Checked Exceptions
- Java中为什么要使用内部类
- Java中为什么要使用内部
- JAVA中为什么要使用集合框架
- 为什么 Java 中要使用 Checked Exceptions
- java中为什么要使用接口?
- 为什么 Java 中要使用 Checked Exceptions
- Java中为什么要使用内部类
- Java中为什么要使用内部类
- Java中为什么要使用抽象类
- Java中为什么要使用内部类
- Java中为什么要使用泛型?
- java中为什么要在try-catch中使用finally
- 为什么要在JAVA工厂模式中使用静态方法
- Java中为什么要使用单例模式
- Java中继承机制为什么要使用extend…
- SEO网站建设的十个关键点
- 六级突击
- weka 中的算法名说明
- C++面试题之a和b交换面试题
- C++面试题之const面试题
- java中为什么要使用迭代器
- -------实现一个类似迅雷的系统“福雷(FULEI)”
- 各类型变量与零值的比较
- C++面试题之i++面试题
- 如何创建wince根目录下的文件夹
- 简单就是幸福
- C++面试题之sizeof面试题
- C++面试题之编程风格面试题
- C++面试题之程序设计其他问题面试题