- 軟件大小:602KB
- 軟件語言:中文
- 軟件類型:國產軟件
- 軟件類別:免費軟件 / 編(biān)程工具(jù)
- 更新時間:2017-04-21 14:09
- 運行環境:WinAll, WinXP, Win7
- 軟(ruǎn)件等(děng)級:
- 軟件廠商:
- 官方網(wǎng)站:暫無(wú)
![頂一(yī)個](/skins/gr/images/c_goodbg.png)
![踩一個](/skins/gr/images/c_badbg.png)
3.30M/多國語言[中(zhōng)文(wén)]/4.4
19.91M/中文/5.2
1.60M/中文/7.5
2.26M/中文/8.7
8.37M/中文/10.0
commons-collections.jar是存在於java編程軟件中非常重要的數據(jù)包,它能有效支持(chí)java正常(cháng)運行使(shǐ)用,當缺失此文件時即可造成編程數據出行亂(luàn)碼。快來綠色資源網下(xià)載體驗吧!
commons-collections.jar包是(shì)一款(kuǎn)java開(kāi)發中必備的一款jar包,如果缺少了這款了commons-collections.jar包,java開發將變得寸步難行,下載commons-collections.jar使用吧。
Transformer -- 我們有時候需(xū)要將某個對象(xiàng)轉換成另一個對象供另一組方法調用,而這兩類對象的(de)類(lèi)型(xíng)有可能並不是出(chū)於同一個繼承體係(xì)的,或(huò)者說出了很基本的Object之外沒有共同的父類,或者(zhě)我們根本不關心他們是不是有(yǒu)其他繼承關係,甚至就是(shì)同一個類的實(shí)例隻是對我們而(ér)言無所謂,我們為了它能夠被後續的調用者有意義的(de)識別和處理,在這樣的(de)情形,我們就可以利用Transformer。除了基本的轉型Transformer之外,Commons Collections還提(tí)供了Transformer鏈和帶條(tiáo)件的Transformer,使得我們很(hěn)方便的組裝出有意義的轉型邏輯。
Closure -- 這一組接口和類提供一個操作對象的execute方法,為我們(men)在處理一係列對象時可以將處理邏輯分離出來(lái)。ChainedClosure可以包裝一組Closure作為整體執(zhí)行;IfClosure在創建時需要提供給它一個Predicate和兩個Closure,執行時先(xiān)做(zuò)Predicate判定再決定執行哪一個Closure;SwitchClosure跟SwitchTransformer類似,根據創建時傳(chuán)入(rù)的Predicate組和Closure組對應執行;WhileClosure則根據創建時傳入的Predicate做判斷,如果為true則執(zhí)行Closure,直到Predicate返回false;等等。
Iterator -- java.util.Iterator接口定(dìng)義了標(biāo)準的Collection遍(biàn)曆方法,但是如果不做(zuò)改變的使用它,我們得到的是從頭到尾一次性(xìng)的遍曆(lì)。假如我們(men)需要(yào)循環遍曆,假如我們需要遍曆某一段,假如我們需要遍曆滿足某些條(tiáo)件的元素(sù),等等等等,我們就不能完全依賴於這個(gè)Iterator的標準實現了。除非(fēi)我們寧可在此基礎上在調用的代碼中多加一些判斷,不過這樣的話代碼就(jiù)會顯得混亂,時間長了就容易變得難以維護(hù)。Commons Collections的這一組Iterator為我們帶來了便利。
Bag -- 在org.apache.commons.collections包(bāo)中定義的接口,它extends java.util.Collection,而它(tā)的實現類都被放在下麵的bag包中。HashBag是Bag接口的一個標準實現。而BagUtils提供一組static的方法讓調(diào)用者獲取經過不同裝飾後的Bag實例.具體用法見代(dài)碼(mǎ)樣例
Buffer -- 定義在org.apache.commons.collections包(bāo)下麵(miàn)的接口,用於表示按一定順序除去成員對(duì)象的collection如隊(duì)列等。具體的實現類在org.apache.commons.collections.buffer 包下可以找到。最簡單直接的Buffer實(shí)現類是UnboundedFifoBuffer,提供(gòng)先進先出的大小可變的隊列。而BoundedFifoBuffer則是對(duì)其大小進行了限製,是固定(dìng)大小的先進(jìn)先出隊列。BlockingBuffer要在多線程的環境中(zhōng)才能體現出它的價值,尤其是當我們(men)需(xū)要實現某種流水(shuǐ)線時這個BlockingBuffer很有用:每個流水線上的組件從上遊的BlockingBuffer獲取數據,處理後放到下一(yī)個BlockingBuffer中依次傳遞。BlockingBuffer的核心特色通俗點說就(jiù)是如果你向它要東西(xī),而它暫時還沒有的話(huà),你可以一直等待直至拿到為止。PriorityBuffer則提供比一般的先進先出Buffer更強的控製力:我們可以自(zì)定(dìng)義Comparator給它,告訴它怎麽(me)判定它(tā)的成員的先後順(shùn)序(xù),優先級(jí)最高的最先走。此外還有執行類型檢查的TypedBuffer、或者不可改變的UnmodifiableBuffer等等
Map -- 在java.util.Map的基礎上擴展的接口和類。BidiMap,直譯(yì)就是雙向Map,可以通過(guò)key找到value,也可以通過value找到key,這在我們日常的代碼-名稱匹配的時候很方便:因為我們除了需要通(tōng)過代碼找到名稱之外,往往也(yě)需要處理用戶(hù)輸(shū)入的名稱,然後獲取其代碼。需要注意的是BidiMap當中不光key不能重複,value也不可以。MultiMap,就是說一個key不在是簡單的指向(xiàng)一個對象,而是一組對象,add()和remove()的時候跟普通的Map無異,隻是在get()時返回一個Collection,利用MultiMap,我們就(jiù)可以很方便的往一個key上放數量不定的對象,也就實現了一對多。LazyMap,意思就是這個Map中的鍵/值對一開始並不存在,當(dāng)被調(diào)用到時(shí)才創建。
Collection -- 用也各collection之間的類型轉換。典型的是TypedCollection,它實際上的作用就是提供一個decorate方法,我們傳進去(qù)一個Collection和需要的類型甄別信息java.lang.Class,它給我們創建一個全新的強類型的Collection。(暫無樣例代碼,以後補充)
Comparator -- 提供了一些Comparator的實現類(都在org.apache.commons.collections.comparators包下麵)BooleanComparator – 用於排序一組Boolean對象,指明先true還是先false;ComparableComparator – 用於排序實現了java.lang.Comparable接口的對象(xiàng)(我們常用的Java類如String、Integer、Date、Double、File、Character等等都實現了Comparable接口);ComparatorChain – 定義一組Comparator鏈,鏈中的Comparator對(duì)象會(huì)被依次執行;FixedOrderComparator – 用於定義一個特殊的順序,對一組對象按照這樣的自定義順(shùn)序進行排序;NullComparator – 讓null值也可參與比較,可以設定為先null或者後null;
ReverseComparator – 將原(yuán)有的Comparator效果反(fǎn)轉;TransformingComparator – 將(jiāng)一(yī)個(gè)Comparator裝飾為具有Transformer效果的Comparator。
Predicate -- 它以一個Object對象為參數,處理後返回一個boolean值,檢驗某個對象是否滿足某個條件。Commons Collections也提供了一組定義好的(de)Predicate類供我們使用,這些類都放在org.apache.commons.collections.functors包中。當然,我們也可以自定義Predicate,隻要實現這(zhè)個Predicate接口(kǒu)即可。
為Java標準(zhǔn)的Collections API提供了相當好的補充。在此(cǐ)基礎上對其(qí)常用(yòng)的數據結構操作進行了很好的封(fēng)裝、抽象和補充。保證性能的同時大大簡化代碼(mǎ)。
請描述您所遇到的錯誤,我們將盡快予以修正,謝謝!
*必填(tián)項,請輸入內容