浏览 1679 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2009-06-29
项目比较旧的代码,迭代采用Enumeration public class EnumerationTest { public Enumeration getEnum(Vector list){ Enumeration e = list.elements(); return e; } } 项目比较旧的代码,迭代采用Iterator public class IteratorTest { public Iterator getIter(Collection list) { Iterator iterator = list.iterator(); return iterator; } } Enumeration 转换成 Iterator 的适配器 public class EnumerationIterator implements Iterator { public Enumeration enumeration; public EnumerationIterator(Enumeration enumeration) { this.enumeration = enumeration; } @Override public boolean hasNext() { // TODO Auto-generated method stub return enumeration.hasMoreElements(); } @Override public Object next() { // TODO Auto-generated method stub return enumeration.nextElement(); } //由于Enumeration没有相关删除方法,所以执行时抛出异常 @Deprecated public void remove() { // TODO Auto-generated method stub throw new RuntimeException(); } } 测试方法 public class Test { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated method stub EnumerationTest et = new EnumerationTest(); Vector vector = new Vector(); vector.add(1); vector.add(2); vector.add(3); vector.add(4); Enumeration enumeration = et.getEnum(vector); //使用适配器转换成Iterator EnumerationIterator ei = new EnumerationIterator(enumeration); display(ei); } public static void display(Iterator iterator) { while (iterator.hasNext()) { System.out.println(iterator.next()); } } } 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |