日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

java集合框架總結(jié)

 herowuking 2015-06-22



1)java集合框架的層次結(jié)構(gòu)

2)使用Collection接口定義的公用方法對(duì)集合和線性表操作

3)使用Iterator接口遍歷集合

4)使用JDK的增強(qiáng)for循環(huán)替代迭代Iterator進(jìn)行集合遍歷

5)熟悉Set接口,了解何時(shí)及如何使用HashSet,LinkedHashSet或TreeHashSet來(lái)存儲(chǔ)元素

6)使用Comparator接口來(lái)比較元素

7)熟悉List接口,了解何時(shí)以及如何使用ArrayList或者LinkedList來(lái)存儲(chǔ)元素
8)區(qū)分Vector與ArrayList,并了解如何使用Vector和Stack

9)使用JDK1.5的一般類(lèi)型來(lái)簡(jiǎn)化程序設(shè)計(jì)

10)理解Collection和Map的區(qū)別,知道何時(shí)及如何使用HashMap,LinkedHashMap,TreeHashMap來(lái)存儲(chǔ)

11)使用Collections類(lèi)中的靜態(tài)方法
12)使用Arrays類(lèi)中的靜態(tài)方法


以上就是java集合框架的內(nèi)容,如果你對(duì)哪一條不熟悉,說(shuō)明需要好好的看看。

---------------------------------------------------------------------------------------------------------------------------------------------------

java集合架構(gòu)支持3種類(lèi)型的集合:規(guī)則集(Set),線性表(List),和圖(Map),分別定義在Set,List,Map中。Set實(shí)例存儲(chǔ)一組互不相同的元素(集合),List實(shí)例存儲(chǔ)一組順序排列的元素(表),Map存儲(chǔ)一組 對(duì)象---關(guān)鍵值的映射


總的架構(gòu)如下,非常重要,包含繼承關(guān)系,實(shí)現(xiàn)的分類(lèi),一目了然:

Collection接口: 

       Set接口:

            HashSet具體類(lèi)

            LinkedHashSet具體類(lèi)

            TreeSet具體類(lèi)

       List接口: 
            ArrayList具體類(lèi)

            LinkedList具體類(lèi)

            向量類(lèi)Vector具體類(lèi)

            Stack具體類(lèi)


Map接口:
       HashMap類(lèi)

       LinkedHashMap類(lèi)

       TreeMap類(lèi)            
    
---------------------------------------------------------------------------------------------------------------------------------------------------



1)先來(lái)說(shuō)Collection接口,它是處理對(duì)象集合的根接口,提供了一些公用方法,size,Iterator,add,remove什么的

2)Set和List接口都擴(kuò)展自Collection,Set就是高中數(shù)學(xué)里所說(shuō)的集合,不允許重復(fù),無(wú)序。List就像一個(gè)表,可以重復(fù),元素在表里有順序的放著。

3)然后來(lái)說(shuō)Set接口的3種實(shí)現(xiàn):

  HashSet的對(duì)象必須實(shí)現(xiàn)hashCode方法,javaAPI大多數(shù)類(lèi)實(shí)現(xiàn)了hashCode方法。
  LinkedHashSet實(shí)現(xiàn)了對(duì)HashSet的擴(kuò)展,支持規(guī)則集內(nèi)元素的排序,在HashSet中元素是沒(méi)有順序的,而在LinkedHashSet中,可以按元素插入集合的順序進(jìn)行提取
  TreeSet保證集中的元素是有序的,有2種方法可以實(shí)現(xiàn)對(duì)象之間的可比較性:1,添加到TreeSet的對(duì)象實(shí)現(xiàn)了Comparable接口;2,給規(guī)則集的元素指定一個(gè)比較器(Comparator)

使用提示:

如果希望按照元素插入集合的順序進(jìn)行提取元素,用LinkedHashSet,它的元素按添加的順序存儲(chǔ)

如果沒(méi)有上述需求,應(yīng)該用HashSet,它的效率比LinkedHashSet高

LinkedHashSet只是按照添加的的先后順序在存儲(chǔ)時(shí)保持順序,要給集合元素添加順序?qū)傩?,需要使用TreeSet(集合元素有排序關(guān)系)。


4)再來(lái)說(shuō)List的幾種實(shí)現(xiàn)

最重要的的當(dāng)然是ArrayList(不同步)和LinkedList,一個(gè)使用數(shù)組實(shí)現(xiàn)的動(dòng)態(tài)擴(kuò)展容量的list,一個(gè)是鏈?zhǔn)綄?shí)現(xiàn)的list。

還有就是Vector(同步)類(lèi),它除了包含訪問(wèn)和修改向量的同步方法之外,跟ArrayList一樣。

最后就是Stack類(lèi),它繼承自Vector類(lèi),,但一般只作為棧的功能來(lái)使用,不要去使用Vector里面的功能


5)Map

Map是映射,跟前面的Set和List有本質(zhì)的區(qū)別。

散列圖HashMap,鏈?zhǔn)缴⒘袌DLinkedHashMap,樹(shù)形圖TreeHashMap是映射的3種實(shí)現(xiàn),從名字上來(lái)說(shuō),有了上述Set的3種實(shí)現(xiàn)的分析,這個(gè)也是類(lèi)似的。

HashMap:效率高
LikedHashMap:按照添加順序存儲(chǔ),可以按添加順序取出
TreeHashMap:排序性

---------------------------------------------------------------------------------------------------------------------------------------------------


Collections類(lèi)和Arrays類(lèi):

Collections類(lèi)(注意不是Collection):提供了許多靜態(tài)的方法來(lái)管理集合,線性表(大多數(shù)是來(lái)操作線性表的,比如對(duì)線性表復(fù)制,排序之類(lèi)的,參見(jiàn)API)

Arrays類(lèi):提供了對(duì)數(shù)組排序,查找,比較,填充元素的各種靜態(tài)方法。

----------------------------------------------------------------------------------------------------------------------------------------------------


一般類(lèi)型的使用:

是指在java集合中使用泛型來(lái)指定添加元素的類(lèi)型:

HashMap<K,V>  map  =  new HashMap<K,V>()   其中K,V是兩個(gè)類(lèi)類(lèi)型,表明這里只能填充k,v類(lèi)型的對(duì)象

另外集合中只能添加對(duì)象,對(duì)于基本數(shù)據(jù)類(lèi)型,會(huì)自動(dòng)轉(zhuǎn)型為對(duì)應(yīng)的包裝類(lèi)。

--------------------------------------------------------------------------------------------------------------------------------------------------



    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類(lèi)似文章 更多