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

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

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

    我的隱式生活(My Implicit Life)

    繼續搞“對象”,玩OO.

    首頁 新隨筆 聯系 聚合 管理
      11 Posts :: 1 Stories :: 39 Comments :: 0 Trackbacks

    2006年9月20日 #

    近期寫了個電子書的C/S模式的下載工具,一個server端,一個client端。

    目的就是想在公司能很方便的訪問家里那些收集很久電子書,方便查閱。

    用了1,2個星期,雖然寫的很爛,但是沒有用任何第三方的產品(server or db)。

    現在里面的書籍已經接近200本了。

    注:server就用了家里的adsl,所以速度慢,關閉不定時。畢竟玩玩嘛。

    有興趣的朋友先裝個jdk1.5。再運行下面壓縮包里的exe文件執行即可。

    點此下載

    User ID:???????????????blogjava
    Password:???????????? blogjava
    ?

    posted @ 2006-10-15 13:21 marco 閱讀(3472) | 評論 (9)編輯 收藏

    Java Collection Framwork中的類的確是最重要的基礎api,實現任何算法,基本上都很難離開它。

    因此理解這堆“集合(Collection)類”很有必要。聲明一下,以前一直都是叫它們集合類,但是好像Think In Java的作者鄙視了這個說法,嚴格的說應該叫Container類,而后看了它整整一章書以后,覺得還是人家說的有道理。

    它說這個container類庫,包含了兩大類,Collection和Map,而Collection又可以分為List和Set。當然這些抽象概念都被定義成了接口。

    話說,這樣的分類的確是嚴格按照類之間的繼承關系來說得,但是俺總覺得很別扭,真動手的時候,還是很難選擇。當然,Anytime and Anywhere使用ArrayList絕對都能解決問題,但這樣做畢竟太農民了一點。

    所以,我自己有了一些想法。先回歸到最基本最基本的數據結構的層面,管你是Collection還是Container,反正描述的都是一堆東西吧。數據結構第一章講了一個結構:在物理上連續分配空間的順序結構,叫順序表(希望記性是好的),而離散分配空間的,應該叫做鏈表,最常用的就是單鏈表。這兩個東西,其實就是很多復雜數據結構的基礎,還記得嗎,當時就是講完這些東西,才開始講棧、隊列、二叉樹、有向無向圖的。所以,這個順序結構是很基礎的。而在JAVA中,順序表對應的就是List接口,而一般順序表就是ArrayList(有效進行隨機index查找);而單鏈表就是LinkedList(有效進行插入和刪除),兩個的優劣當年都講爛了,這里就不說了。

    有了這兩個結構以后,JAVA就不提供Stack和Queue單獨的類了,因為,用戶可以用上面兩個類輕易的去實現。

    那Set和Map有怎么跟List連上關系呢?

    我認為可以把它們看成是無序和單一的List(Map只是兩個有映射關系的List罷了)。

    Set和Map無序和單一的特性,決定了它們天大的需求就是根據關鍵字(元素對象)檢索。so,為了效率,必須hash。

    有了HashSet和HashMap。

    同時,如果非要保持住元素的順序,有了LinkedHashSet、LinkedHashMap。


    結論:

    假如你的需求是
    1:往Container中放的對象是無序且單一的;
    2:經常要檢索。
    用HashSet或HashMap吧。

    ps:這兩個條件其實是一回事,因為如果是不單一的話,你去檢索它干嘛。

    如果進而需要保持元素的順序,不要讓他順便iteration,那就選擇LinkedHashSet和LinkedHashMap。

    假如你的需求不滿足以上1&2,那你放心,List肯定能幫你解決,你只要稍微想一下是ArrayList好還是LinkedList好。

    題外話:

    關于Hash,務必記得要讓自己的元素對象override hashCode()和 equles() 方法,要不你直接可以洗了睡。

    關于所有這些Container,務必記得有個輔助類叫Interator,遍歷盡量要用它。

    關于一些老的Stack、Vector、HashTable,聽說以后不要用了哦。收到啦!!

    posted @ 2006-09-20 16:53 marco 閱讀(2325) | 評論 (0)編輯 收藏

    主站蜘蛛池模板: 国产成人精品免费视频大全| 精品无码专区亚洲| 日本免费久久久久久久网站| va亚洲va日韩不卡在线观看| 色欲aⅴ亚洲情无码AV蜜桃| 希望影院高清免费观看视频| 亚洲人成在久久综合网站| 免费观看激色视频网站bd| 亚洲乱码中文论理电影| 久久久www成人免费毛片| 亚洲一区精彩视频| 国产精品无码一区二区三区免费| 久久亚洲精品成人无码| 国产a不卡片精品免费观看| 香蕉国产在线观看免费| 亚洲男人的天堂www| 大地资源中文在线观看免费版| 久久夜色精品国产亚洲AV动态图| 永久免费AV无码网站国产| 亚洲综合色丁香麻豆| 免费无码AV电影在线观看 | 久久夜色精品国产噜噜噜亚洲AV | 3d动漫精品啪啪一区二区免费| 亚洲午夜电影在线观看高清| 午夜a级成人免费毛片| 一边摸一边桶一边脱免费视频| 亚洲欧洲日产国码av系列天堂| 91精品免费久久久久久久久| 亚洲欧美日韩综合久久久| 亚洲一区二区三区免费| 一级毛片在线观看免费| 亚洲综合av一区二区三区不卡 | 日本红怡院亚洲红怡院最新| 5g影院5g天天爽永久免费影院| 亚洲色中文字幕在线播放| 久久久久久A亚洲欧洲AV冫| 最近的中文字幕大全免费8| 亚洲制服丝袜中文字幕| 在线观看亚洲天天一三视| 可以免费看黄的网站| 国产精品免费一区二区三区|