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

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

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

    Read Sean

    Read me, read Sean.
    posts - 508, comments - 655, trackbacks - 9, articles - 4

    [Jakarta Commons筆記] Commons Collections

    Posted on 2005-08-03 09:07 laogao 閱讀(3339) 評論(1)  編輯  收藏 所屬分類: On Java

     

    Commons Collections,又是一個重量級的東西,為Java標(biāo)準(zhǔn)的Collections API提供了相當(dāng)好的補充。我不知道其他人,就我自己而言,讓我用java.util.Collection及其子類,加上java.util.Collections類提供的操作方法,處理一些簡單的數(shù)據(jù)結(jié)構(gòu)問題還可以,稍微復(fù)雜一點的就覺得有點頭痛,很多細(xì)節(jié)的地方需要我插入這樣那樣的小邏輯,或者感覺它太死板,不夠靈活,再或者確實有點晦澀吧。再說了,如果我只是處理一般的數(shù)據(jù)結(jié)構(gòu)問題,為什么不自己用數(shù)組或者自定義的鏈表來做,再加上Jakarta CommonsLang提供的ArrayUtilsStringUtils等,已經(jīng)基本夠了,性能可以保證,那么還要這個Collections API干嘛。當(dāng)然,說到這里有些偏激了,Collections當(dāng)然有它存在的道理,能夠把常用的數(shù)據(jù)結(jié)構(gòu)歸納起來,以通用的方式去維護和訪問,這應(yīng)該說是一種進步,但是用起來似乎不夠友好。這個時候我就會想,如果Java比現(xiàn)在做得更好用些,或者有一套第三方的API把我的這些需求抽象出來,實現(xiàn)了,該多好。Commons Collections就是這樣一套API

     

    在這里可以找到下載鏈接:(binarysrc都有)

    http://jakarta.apache.org/site/downloads/downloads_commons-collections.cgi

     

    目前Commons Collection發(fā)布的最新版本是3.1。建議下載這個3.1版本,頁面上出現(xiàn)的2.1.1是針對2.1不兼容3.0而發(fā)布的升級維護版。

     

    我們先來瀏覽一下它的包結(jié)構(gòu)。一共是12個:

     

    org.apache.commons.collections – Commons Collections自定義的一組公用的接口和工具類

    org.apache.commons.collections.bag – 實現(xiàn)Bag接口的一組類

    org.apache.commons.collections.bidimap – 實現(xiàn)BidiMap系列接口的一組類

    org.apache.commons.collections.buffer – 實現(xiàn)Buffer接口的一組類

    org.apache.commons.collections.collection – 實現(xiàn)java.util.Collection接口的一組類

    org.apache.commons.collections.comparators – 實現(xiàn)java.util.Comparator接口的一組類

    org.apache.commons.collections.functors – Commons Collections自定義的一組功能類

    org.apache.commons.collections.iterators – 實現(xiàn)java.util.Iterator接口的一組類

    org.apache.commons.collections.keyvalue – 實現(xiàn)集合和鍵/值映射相關(guān)的一組類

    org.apache.commons.collections.list – 實現(xiàn)java.util.List接口的一組類

    org.apache.commons.collections.map – 實現(xiàn)Map系列接口的一組類

    org.apache.commons.collections.set – 實現(xiàn)Set系列接口的一組類

     

    用過Java Collections API的朋友大概或多或少會同意我如下的劃分:在JavaCollections API中,不狹義的區(qū)分語法上的接口和類,把它們都看作是類的話,大致我們可以發(fā)現(xiàn)三種主要的類別:

     

    1- 容器類:如CollectionListMap等,用于存放對象和進行簡單操作的;

    2- 操作類:如CollectionsArrays等,用于對容器類的實例進行相對復(fù)雜操作如排序等;

    3- 輔助類:如IteratorComparator等,用于輔助操作類以及外部調(diào)用代碼實現(xiàn)對容器類的操作,所謂輔助,概括而通俗的來講,就是這些類提供一種算法,你給它一個對象或者一組對象,或者僅僅是按一定的規(guī)則調(diào)用它,它給你一個運算后的答案,幫助你正確處理容器對象。比如Iterator會告訴你容器中下一個對象有沒有、是什么,而Comparator將對象大小/先后次序的算法邏輯獨立出來。

     

    同樣,Jakarta Commons Collections我們細(xì)細(xì)看來,也能夠找出類似的劃分:

     

    1- 作為容器類的補充,我們可以找到BagBufferBidiMapOrderedMap等等;

    2- 作為操作類的補充,我們可以找到CollectionUtilsIteratorUtilsListUtilsSetUtils等等;

    3- 作為輔助類的補充,我們可以找到MapIteratorClosurePredicateTransformer等等;

     

    對于這樣的一個大包,當(dāng)然不可能一個類一個類的講了,找一些常用的和有用的當(dāng)做接下來討論的話題吧。大概列個清單:

     

    Bag

    HashBag

    BagUtils

     

    Buffer

    BlockingBuffer

    BoundedFifoBuffer

    PriorityBuffer

    BufferUtils

     

    MultiMap

    BidiMap

    CaseInsensitiveMap

    LazyMap

    MapUtils

     

    TypedCollection

    CollectionUtils

     

    ReverseComparator

    ComparatorChain

    NullComparator

    FixedOrderComparator

    ComparatorUtils

     

    Predicate

    AndPredicate

    OrPredicate

    AllPredicate

    OnePredicate

    NonePredicate

    PredicateUtils

     

    Transformer

    ChainedTransformer

    SwitchTransformer

    TransformerUtils

     

    Closure

    ChainedClosure

    IfClosure

    WhileClosure

    ClosureUtils

     

    LoopingIterator

    ArrayListIterator

    FilterIterator

    UniqueFilterIterator

    IteratorUtils

     

    總共9組,在接下來的筆記中我們一起慢慢的看。

     

     

    Feedback

    # re: [Jakarta Commons筆記] Commons Collections  回復(fù)  更多評論   

    2007-08-15 10:57 by 寒武紀(jì)
    受益了
    主站蜘蛛池模板: a级片免费在线观看| 中文字幕日韩亚洲| 久久久久国产精品免费看| jizzjizz亚洲日本少妇| 久久久久久亚洲Av无码精品专口| 亚洲乱码国产一区网址| 免费特级黄毛片在线成人观看| 最近新韩国日本免费观看| 国产成人免费AV在线播放| 九九免费精品视频在这里| 男人的天堂av亚洲一区2区| 亚洲小说区图片区| 久久精品亚洲一区二区三区浴池| 亚洲综合精品网站在线观看| 国产男女性潮高清免费网站| 24小时日本在线www免费的| 最近中文字幕mv免费高清视频8| 美女无遮挡拍拍拍免费视频| 深夜a级毛片免费无码| 国产精品亚洲lv粉色| 亚洲精品无码专区| 亚洲熟妇丰满xxxxx| 亚洲午夜在线播放| 亚洲首页国产精品丝袜| 亚洲一区二区三区在线观看蜜桃| 亚洲综合视频在线观看| 亚洲第一福利视频| 亚洲综合精品一二三区在线| 99久久亚洲综合精品成人网| 亚洲永久永久永久永久永久精品| 亚洲邪恶天堂影院在线观看| 亚洲国产综合专区在线电影| 亚洲五月激情综合图片区| 亚洲精品福利网站| 亚洲av产在线精品亚洲第一站| 亚洲一区在线视频| 亚洲午夜无码久久久久小说 | 2022免费国产精品福利在线| 免费人成在线观看播放a| 一级毛片人与动免费观看| 久久久久久久久久免免费精品|