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

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

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

    seaairland

     

    Commons-collection

    Commons項(xiàng)目理解
    ??????? 在java項(xiàng)目中有很多公用的算法實(shí)現(xiàn)和工具類
    ??????? jarkata項(xiàng)目組把這些公用的東西作為開源項(xiàng)目加以實(shí)現(xiàn)
    ??????? 以后在項(xiàng)目使用中就可以統(tǒng)一算法,不必寫象StringUtil或者DateHelper之類的工具類了
    ??????? 很多算法也不必再查文檔,熬夜寫個(gè)通宵了,:)
    ??????? 最近需要針對(duì)collection作一些擴(kuò)展,自己寫了半天,才發(fā)現(xiàn)commons-collection里面已經(jīng)有了實(shí)現(xiàn)
    ??????? 而且比自己寫的好更完善,效率更高
    ??????? 索性來研究一下這個(gè)項(xiàng)目,因?yàn)楹芏嚅_源項(xiàng)目也使用它
    ??????? 以后看開源項(xiàng)目代碼的時(shí)候也就不用那么費(fèi)力了
    ???????
    概述
    ??????? 首先這個(gè)包是基于JDK1.2開發(fā)的,所以以后在調(diào)用的時(shí)候就不用關(guān)心JDK版本的問題
    ??????? 其二這個(gè)包在大部分的開源項(xiàng)目中使用,已經(jīng)成為事實(shí)上的行業(yè)集合類處理標(biāo)準(zhǔn)
    特性描述
    ??????? Bag集合接口,用于在集合中保存一個(gè)對(duì)象的多次拷貝
    ??????? Buffer接口,用于處理FIFO等定義好移除順序的結(jié)合類
    ??????? BidiMap接口,用于通過value查找key
    ??????? MapIterator,這個(gè)就不用多說了,以后就不用使用map.keyset.iterator去處理map循環(huán)了
    ??????? 型別檢查裝飾,其實(shí)就是可以創(chuàng)建一個(gè)具有指定型別的集合類
    ??????????????? 比如定義了一個(gè)整型的list,就不能再向這個(gè)list里面放String,否則會(huì)拋出異常
    ??????? 轉(zhuǎn)換修飾,就是在向集合中放入對(duì)象時(shí),可以將對(duì)象轉(zhuǎn)換為需要的類型的對(duì)象再放入集合中
    ??????? 組合集合,一個(gè)非常好的概念,就是把多個(gè)集合當(dāng)一個(gè)集合去使用
    ??????? 排序Map和Set,保持集合的加入順序
    ??????? Identity Map,這個(gè)Map中使用==而不是equal()方法去比較對(duì)象

    ??????? * Reference map that allows keys and/or values to be garbage collected under close control
    ??????? 更多的比較實(shí)現(xiàn)
    ??????? 更多的迭代實(shí)現(xiàn)
    ??????? 將數(shù)組或枚舉類型裝換到集合類中,非常好用的功能,畢竟array的功能有限
    ???????
    ??????? * Utilities to test or create typical set-theory properties of collections such as union, intersection, and closure

    個(gè)人對(duì)于一些類的體會(huì)
    ??????? 第一個(gè)就是TypedList(還有map,set都一樣)
    ??????? 可以創(chuàng)建一個(gè)String的List,或者一個(gè)只能放入指定Class的List,避免編程時(shí)候的誤寫
    ??????? java編程思想中提到過創(chuàng)建指定型別的集合的問題,不過使用這個(gè)類就不用那么麻煩了

    ??????? CollectionUtils
    ??????????????? 針對(duì)集合進(jìn)行與/并/判斷是否包含/等于等工具方法
    ??????????????? 查找一個(gè)集合中某個(gè)對(duì)象出現(xiàn)的數(shù)量
    ??????????????? 查找(或過濾)一個(gè)集合中某種class的子集合,或者計(jì)算數(shù)量
    ??????????????? 將集合中的對(duì)象進(jìn)行轉(zhuǎn)換處理
    ??????????????? 將數(shù)組或枚舉對(duì)象放入集合中
    ??????????????? 提供針對(duì)所有集合類的index,size,get等方法
    ??????????????? 提供數(shù)組翻轉(zhuǎn)方法
    ??????????????? 提供集合的同步修飾
    ??????????????????????? 比如HashMap本身是不支持同步的,但這個(gè)類提供了一個(gè)同步修飾
    ??????????????????????? 以后再使用經(jīng)過修飾后的HashMap時(shí)就不用考慮同步的問題了
    ??????????????? 提供禁止修改集合的工具方法
    ??????? 同CollectionUtils一樣還有相應(yīng)的ListUtils,SetUtils等工具類
    ??????????????? 這些工具類提供的方法基本都出現(xiàn)在CollectionUtils中

    ??????? ArrayStack
    ??????????????? 一個(gè)繼承自ArrayList的Stack實(shí)現(xiàn)
    ??????? BeanMap
    ??????????????? 一個(gè)用于分析javaBean的Map容器,個(gè)人感覺用于測(cè)試比較方便
    ??????????????? 因?yàn)閎eanUtils類也可以做這個(gè)類的事情,這個(gè)類方便的是讀取所有屬性并顯示
    ??????? BidiMap
    ??????????????? 就是一個(gè)可以通過value查找key的Map
    ??????????????? 限制:添加對(duì)象時(shí),value不能相同
    ??????????????? 因?yàn)檫@個(gè)類還有一個(gè)方法就是創(chuàng)建一個(gè)反向Map,把value作為key,把key作為value再創(chuàng)建一個(gè)Map
    ??????? BoundedCollection接口
    ??????????????? 所有實(shí)現(xiàn)此接口的集合均被限制了集合大小,不過超過約束的大小
    ??????? Buffer接口
    ??????????????? 非常好的一個(gè)接口,實(shí)現(xiàn)了按照指定順序移除對(duì)象
    ??????????????? 可以用來實(shí)現(xiàn)FIFO,LIFO等算法
    ??????????????? 也可以通過Comprator來構(gòu)造,指定確定的移除算法
    ??????? Ordered**接口
    ??????????????? 用來實(shí)現(xiàn)集合排序
    ??????? Predicate接口(斷言)
    ??????????????? 用來驗(yàn)證或過濾對(duì)象
    ??????? Transformer接口
    ??????????????? 用來把一個(gè)對(duì)象轉(zhuǎn)換成另為一個(gè)對(duì)象
    ??????? Closure接口
    ??????????????? 用來封閉一段代碼,針對(duì)對(duì)象進(jìn)行指定的處理
    ??????? Unmodifiable接口
    ??????????????? 所以實(shí)現(xiàn)(或包含了)此接口的對(duì)象均不可以改變

    ??????? ComparatorUtils類
    ??????????????? 實(shí)現(xiàn)了各種比較
    ??????????????? 布爾值比較實(shí)現(xiàn)
    ??????????????? null判斷比較
    ??????????????? 比較鏈的實(shí)現(xiàn)
    ??????????????? 獲取min,max對(duì)象
    ??????? AbstractDualBidiMap
    ??????????????? 一個(gè)包含了兩個(gè)bidiMap的抽象類
    ??????????????? 因?yàn)閎idiMap可以做雙向查找
    ??????????????? 繼承AbstractDualBidiMap后,內(nèi)部的兩個(gè)map一個(gè)針對(duì)key排序,一個(gè)針對(duì)value排序
    ??????????????? 可以加快訪問速度
    ??????? EnumerationUtils
    ??????????????? 包含了toList()方法,可以簡(jiǎn)化代碼
    ??????? ExtendedProperties 比較好玩
    ??????????????? 提供了增強(qiáng)的properties處理
    ??????????????? 處理多行
    ??????????????? 處理多個(gè)相同的聲明
    ??????? Fast***
    ??????????????? 提供了在多線程中針對(duì)集合的快速訪問
    ??????????????? 當(dāng)進(jìn)行只讀操作時(shí),不進(jìn)行同步處理
    ??????????????? 當(dāng)進(jìn)行寫操作時(shí)
    ??????????????????????? 克隆整個(gè)集合
    ??????????????????????? 針對(duì)克隆執(zhí)行修改
    ??????????????????????? 使用克隆替換現(xiàn)有對(duì)象
    ??????? MultiHashMap
    ??????????????? 實(shí)現(xiàn)了多key的map
    ??????????????? 當(dāng)get時(shí)返回list對(duì)象
    ??????? StaticBucketMap ***********(高效)
    ??????????????? 是一個(gè)非常高效的Map, get, put, remove 和 containsKey? 操作都被進(jìn)行了優(yōu)化
    ??????????????? 這個(gè)Map里面有多個(gè)Buck(桶)用于存儲(chǔ)數(shù)據(jù)
    ??????????????? 這樣在多線程中取數(shù)據(jù)的使用,是從不同的桶中取,真正實(shí)現(xiàn)了同步機(jī)制
    ??????????????? 當(dāng)然,在進(jìn)行批量操作時(shí)無法保證原子性,要注意這一點(diǎn)

    posted on 2006-05-04 12:15 chenhui 閱讀(746) 評(píng)論(0)  編輯  收藏 所屬分類: 好文收集Jakarta Commons

    導(dǎo)航

    統(tǒng)計(jì)

    常用鏈接

    留言簿(1)

    隨筆分類

    隨筆檔案

    文章分類

    文章檔案

    介紹 IOC

    友情鏈接

    最新隨筆

    搜索

    積分與排名

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 亚洲AV一二三区成人影片| 美女被羞羞网站免费下载| 好大好硬好爽免费视频| 杨幂最新免费特级毛片| 亚洲av色福利天堂| 天天摸夜夜摸成人免费视频| 两个人看的www视频免费完整版| 亚洲精品国产福利在线观看| 午夜国产大片免费观看| 久久黄色免费网站| 亚洲aⅴ无码专区在线观看春色 | 亚洲成AV人片在| 亚洲国产精品免费观看| 青青青视频免费观看| 亚洲自偷精品视频自拍| 亚洲 国产 图片| 在线观看免费视频资源| 无码的免费不卡毛片视频 | 亚洲性线免费观看视频成熟| 亚洲成a人片在线观看久| 50岁老女人的毛片免费观看| 一级看片免费视频| 亚洲欧美日韩中文无线码| 亚洲AV无码国产在丝袜线观看| 日本特黄特色aa大片免费| 免费A级毛片无码视频| 国产成人综合亚洲绿色| 亚洲人成在线播放| 亚洲国产日韩在线视频| 免费a级黄色毛片| 国产成人午夜精品免费视频| 免费看无码特级毛片| 成人福利在线观看免费视频| 亚洲综合av一区二区三区| 亚洲AV美女一区二区三区| 亚洲视频在线一区二区| 午夜免费不卡毛片完整版| 中文字幕影片免费在线观看| 亚洲视频免费在线观看| 国产真人无码作爱免费视频| 羞羞视频免费观看|