一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

集合總結(jié)

 空城66 2015-07-12
1)java集合框架的層次結(jié)構(gòu)

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

3)使用Iterator接口遍歷集合

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

5)熟悉Set接口,了解何時及如何使用HashSet,LinkedHashSet或TreeHashSet來存儲元素

6)使用Comparator接口來比較元素

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

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

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

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


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

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

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


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

Collection接口: 

       Set接口:

            HashSet具體類

            LinkedHashSet具體類

            TreeSet具體類

       List接口: 
            ArrayList具體類

            LinkedList具體類

            向量類Vector具體類

            Stack具體類


Map接口:
       HashMap類

       LinkedHashMap類

       TreeMap類            
    
---------------------------------------------------------------------------------------------------------------------------------------------------



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

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

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

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

使用提示:

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

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

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


4)再來說List的幾種實(shí)現(xiàn)

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

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

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


5)Map

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

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

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

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


Collections類和Arrays類:

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

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

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


一般類型的使用:

是指在java集合中使用泛型來指定添加元素的類型:

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    国产一区国产二区在线视频| 国产大屁股喷水在线观看视频| 国产欧美日韩一级小黄片| 久久精品国产一区久久久| 色偷偷偷拍视频在线观看| 成人免费在线视频大香蕉| 亚洲国产精品av在线观看| 偷拍美女洗澡免费视频| 少妇毛片一区二区三区| 很黄很污在线免费观看| 国产丝袜女优一区二区三区| 不卡中文字幕在线视频| 国产又色又爽又黄又免费| 国产不卡最新在线视频| 婷婷基地五月激情五月| 97人妻精品一区二区三区免| 欧美黄色成人真人视频| 欧美日韩精品综合在线| 亚洲一区二区精品福利| 国产成人精品一区在线观看| 久热香蕉精品视频在线播放| 91久久精品在这里色伊人| 国产精品内射婷婷一级二级| 国内胖女人做爰视频有没有| 老熟女露脸一二三四区| 日韩一区二区三区久久| 免费性欧美重口味黄色| 91精品日本在线视频| 国产av精品高清一区二区三区| 欧美日韩精品人妻二区三区| 国产麻豆精品福利在线| 欧美成人精品一区二区久久| 伊人色综合久久伊人婷婷| 国产又粗又猛又大爽又黄同志| 色婷婷视频在线精品免费观看 | 久久国产精品热爱视频| 午夜福利黄片免费观看| 91亚洲国产成人久久精品麻豆| 亚洲乱妇熟女爽的高潮片| 好吊日成人免费视频公开| 国产精品一区二区成人在线|