更新時(shí)間:2019-12-12 16:12:28 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2454次
集合是一種數(shù)據(jù)結(jié)構(gòu),在編程中是非常重要的。好的程序就是好的數(shù)據(jù)結(jié)構(gòu)+好的算法。java中為我們實(shí)現(xiàn)了曾經(jīng)在大學(xué)學(xué)過的數(shù)據(jù)結(jié)構(gòu)與算法中提到的一些數(shù)據(jù)結(jié)構(gòu)。如順序表,鏈表,棧和堆等。Java 集合框架API是用來表示和操作集合的統(tǒng)一框架,它包含接口,實(shí)現(xiàn)類以及一些編程輔助算法。具體位于java.util包下。
java集合框架UML圖

從上面的UML圖中可以看出,集合框架可以簡單的分為四部分
Collection接口以及實(shí)現(xiàn)類

Map接口及其實(shí)現(xiàn)類

Iterator接口及實(shí)現(xiàn)類
輔助工具類
Collections、Arrays類
Collections、Arrays是集合類的一個(gè)工具類/幫助類,其中提供了一系列靜態(tài)方法,用于對(duì)集合中 元素進(jìn)行排序、查找等各種操作。
Comparable、Comparator接口
一般是用于對(duì)象的比較來實(shí)現(xiàn)排序,兩者略有區(qū)別
Comparable用作默認(rèn)的比較方式,實(shí)現(xiàn)了該接口的類之間可以相互進(jìn)行比較,這個(gè)對(duì)象組成的集合就可以直接通過sort()進(jìn)行排序了。
Comparator是設(shè)計(jì)模式中策略模式的一種應(yīng)用。將算法的實(shí)現(xiàn)和數(shù)據(jù)進(jìn)行了分離。
一般用在如下情況下:
1、類設(shè)計(jì)者沒有考慮到比較問題而沒有實(shí)現(xiàn)Comparable接口。這是我們就可以通過使用Comparator,這種情況下,我們是不需要改變對(duì)象的。
2、一個(gè)集合中,我們可能需要有多重的排序標(biāo)準(zhǔn),這時(shí)候如果使用Comparable就難實(shí)現(xiàn)了可以實(shí)現(xiàn)Comparator提供多種標(biāo)準(zhǔn)的比較器進(jìn)行排序。
以上就是動(dòng)力節(jié)點(diǎn)Java培訓(xùn)機(jī)構(gòu)小編介紹的“深入Java集合學(xué)習(xí)系列:集合框架”的內(nèi)容,希望對(duì)大家有幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
相關(guān)文章
零基礎(chǔ)怎么自學(xué)Java,完整版Java學(xué)習(xí)路線圖
你還在糾結(jié)學(xué)Java,是自學(xué)還是去培訓(xùn)班嗎
一個(gè)標(biāo)準(zhǔn)的Java程序員如何進(jìn)階?
相關(guān)閱讀