服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > JDK > 查看文档

从集合类的升级联想到java适配器模式

   historical collection classes(jdk1.1 之前)
   提供的容器有arrays,vector,stack,hashtable,properties,bitset。其中定义出一种走访群集内各元素的标准方式,称为enumeration(列举器)接口,用法如下:
vector v=new vector();
for (enumeration enum =v.elements(); enum.hasmoreelements();) {
object o 
= enum.nextelement();
processobject(o);
}

   而在jdk1.2版本中引入了iterator接口,新版本的集合对象  (hashset,hashmap,weakheahmap,arraylist,treeset,treemap, linkedlist)是通过iterator接口访问集合元素的。
例如:
list list=new arraylist();
for(iterator it=list.iterator();it.hasnext();)
{
    system.out.println(it.next());
}

    这样,如果将老版本的程序运行在新的java编译器上就会出错。因为list接口中已经没有elements(),而只有iterator()了。那么如何可以使老版本的程序运行在新的java编译器上呢?如果不加修改,是肯定不行的,但是修改要遵循“开-闭”原则。
    这时候我想到了java设计模式中的适配器模式。

扫描关注微信公众号