够完美网站建设,wordpress文章总是被修改,网络营销网站建设哪家好,会议响应式网站开发目录
0、定义
1、迭代器模式的四种角色
2、迭代器模式的UML类图
3、示例代码
4、迭代器的next()方法与集合的get(int index)方法的效率对比#xff08;LinkedList为例#xff09; 0、定义 提供一种方法顺序访问一个聚合对象中的各个元素#xff0c;而又不需要暴露该对象…目录
0、定义
1、迭代器模式的四种角色
2、迭代器模式的UML类图
3、示例代码
4、迭代器的next()方法与集合的get(int index)方法的效率对比LinkedList为例 0、定义 提供一种方法顺序访问一个聚合对象中的各个元素而又不需要暴露该对象的内部表示。
1、迭代器模式的四种角色
集合Aggregate一个接口规定了具体集合需实现的操作。具体集合ConcreteAggregate具体集合是实现集合接口的类的实例具体集合按着一定结构存储对象。具体集合应当有一个方法该方法返回一个针对该集合的具体迭代器。迭代器Iterator一个接口规定了遍历具体集合的方法比如next()方法。具体迭代器ConcreteIterator实现迭代器接口的类的实例。具体迭代器在现实迭代器接口所规定的遍历集合的方法时比如next()方法要保证next()方法的首次调用将按着集合的数据结构找到该集合中的一个对象而且每当找到集合中的一个对象立刻根据该集合的存储结构得到待遍历的后继对象的引用并保证依次调用next()方法可以遍历集合。
2、迭代器模式的UML类图 3、示例代码
待设计…… 4、迭代器的next()方法与集合的get(int index)方法的效率对比LinkedList为例
package xyz.jangle.list;import java.util.Iterator;
import java.util.LinkedList;public class ListMain {public static void main(String[] args) {LinkedListString list new LinkedListString();for (int i 0; i 39999; i) {list.add(i);}IteratorString iterator list.iterator();long time1 System.currentTimeMillis();while(iterator.hasNext()) {System.out.println(iterator.next());}long time2 System.currentTimeMillis();for (int i 0; i list.size(); i) {System.out.println(list.get(i));}long time3 System.currentTimeMillis();System.out.println(Iterator:(time2-time1));System.out.println(For:(time3-time2));}}输出结果
Iterator:153
For:1855
总结使用迭代器效率要比get方法快很多数量越大效果越明显。