<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 66,  comments - 40,  trackbacks - 0

    從集合類的升級聯(lián)想到Java適配器模式2007-04-20 來自:java060515  [收藏到我的網(wǎng)摘]

    Historical Collection Classes(JDK1.1 之前)
    提供的容器有Arrays,Vector,Stack,Hashtable,Properties,BitSet。其中定義出一種走訪群集內(nèi)各元素的標(biāo)準(zhǔn)方式,稱為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接口中已經(jīng)沒有elements(),而只有iterator()了。那么如何可以使老版本的程序運行在新的Java編譯器上呢?如果不加修改,是肯定不行的,但是修改要遵循“開-閉”原則。
    這時候我想到了Java設(shè)計模式中的適配器模式。

    /**//*
    *@author 我為J狂 建立日期 2007-4-18
    *
    */
    package net.blogjava.lzqdiy;

    import java.util.ArrayList;
    import java.util.Enumeration;
    import java.util.Iterator;
    import java.util.List;

    public class NewEnumeration implements Enumeration
    {

    Iterator it;
    public NewEnumeration(Iterator it)
    {
    this.it=it;
    // TODO Auto-generated constructor stub
    }

    public boolean hasMoreElements()
    {
    // TODO Auto-generated method stub
    return it.hasNext();
    }

    public Object nextElement()
    {
    // TODO Auto-generated method stub
    return it.next();
    }
    public static void main(String[] args)
    {
    List list=new ArrayList();
    list.add("a");
    list.add("b");
    list.add("C");
    for(Enumeration e=new NewEnumeration(list.iterator()); e.hasMoreElements(); )
    {
    System.out.println(e.nextElement());
    }
    }
    }
    NewEnumeration是一個適配器類,通過它實現(xiàn)了從Iterator接口到Enumeration接口的適配,這樣我們就可以使用老版本的代碼來使用新的集合對象了。

    posted on 2007-04-22 09:23 happytian 閱讀(264) 評論(0)  編輯  收藏

    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    <2007年4月>
    25262728293031
    1234567
    891011121314
    15161718192021
    22232425262728
    293012345

    Welcome here, my friend!

    常用鏈接

    留言簿(12)

    隨筆檔案(66)

    文章分類

    文章檔案(63)

    web

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 89662
    • 排名 - 647

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚欧免费无码aⅴ在线观看| 亚洲精品中文字幕无码蜜桃| 四虎免费永久在线播放| 国产亚洲精品高清在线| 亚洲精品高清视频| 亚洲妇女无套内射精| 中文字幕在线免费观看视频| 亚洲AV无码乱码在线观看裸奔 | 日本视频在线观看永久免费| 一级做a爱过程免费视频高清| 色哟哟国产精品免费观看| 一级毛片免费观看不卡的| 免费国产成人高清视频网站| 久久亚洲AV成人无码| 亚洲免费在线视频观看| 久久精品国产亚洲AV久| 国产福利电影一区二区三区,免费久久久久久久精 | 91在线品视觉盛宴免费| 欧美a级成人网站免费| 我要看WWW免费看插插视频| 亚洲综合AV在线在线播放| 国产亚洲中文日本不卡二区| MM1313亚洲国产精品| 成人国产网站v片免费观看| 黄+色+性+人免费| 亚洲国产日韩在线视频| 亚洲AV无码XXX麻豆艾秋| 亚洲第一网站免费视频| 老司机亚洲精品影视www| 国产精品成人亚洲| 成全视频免费高清| 亚洲最大中文字幕| 免费h视频在线观看| 久久WWW免费人成人片| 亚洲人成影院在线| baoyu122.永久免费视频| 国产精品亚洲精品日韩已方| 国产亚洲女在线线精品| 全免费a级毛片免费看不卡| 亚洲综合久久一本伊伊区| 日韩毛片一区视频免费|