色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍

千鋒教育-做有情懷、有良心、有品質(zhì)的職業(yè)教育機(jī)構(gòu)

手機(jī)站
千鋒教育

千鋒學(xué)習(xí)站 | 隨時隨地免費學(xué)

千鋒教育

掃一掃進(jìn)入千鋒手機(jī)站

領(lǐng)取全套視頻
千鋒教育

關(guān)注千鋒學(xué)習(xí)站小程序
隨時隨地免費學(xué)習(xí)課程

當(dāng)前位置:首頁  >  技術(shù)干貨  > list/set/map的區(qū)別

list/set/map的區(qū)別

來源:千鋒教育
發(fā)布人:qyf
時間: 2022-06-07 16:00:00 1654588800

java培訓(xùn)

  一、List接口

  List是一個繼承于Collection的接口,即List是集合中的一種。List是有序的隊列,List中的每一個元素都有一個索引;第一個元素的索引值是0,往后的元素的索引值依次+1。和Set不同,List中允許有重復(fù)的元素。實現(xiàn)List接口的集合主要有:ArrayList、LinkedList、Vector、Stack。

  ArrayList

  ArrayList是一個動態(tài)數(shù)組,也是我們最常用的集合。它允許任何符合規(guī)則的元素插入甚至包括null。每一個ArrayList都有一個初始容量:

  private static final int DEFAULT_CAPACITY = 10;

  隨著容器中的元素不斷增加,容器的大小也會隨著增加。在每次向容器中增加元素的同時都會進(jìn)行容量檢查,當(dāng)快溢出時,就會進(jìn)行擴(kuò)容操作。所以如果我們明確所插入元素的多少,最好指定一個初始容量值,避免過多的進(jìn)行擴(kuò)容操作而浪費時間、效率。

  size、isEmpty、get、set、iterator 和 listIterator 操作都以固定時間運行。add 操作以分?jǐn)偟墓潭〞r間運行,也就是說,添加 n 個元素需要 O(n) 時間(由于要考慮到擴(kuò)容,所以這不只是添加元素會帶來分?jǐn)偣潭〞r間開銷那樣簡單)。

  ArrayList擅長于隨機(jī)訪問。同時ArrayList是非同步的。

  LinkedList

  同樣實現(xiàn)List接口的LinkedList與ArrayList不同,ArrayList是一個動態(tài)數(shù)組,而LinkedList是一個雙向鏈表。所以它除了有ArrayList的基本操作方法外還額外提供了get,remove,insert方法在LinkedList的首部或尾部。

  由于實現(xiàn)的方式不同,LinkedList不能隨機(jī)訪問,它所有的操作都是要按照雙重鏈表的需要執(zhí)行。在列表中索引的操作將從開頭或結(jié)尾遍歷列表(從靠近指定索引的一端,節(jié)約一半時間)。這樣做的好處就是可以通過較低的代價在List中進(jìn)行插入和刪除操作。

  與ArrayList一樣,LinkedList也是非同步的。如果多個線程同時訪問一個List,則必須自己實現(xiàn)訪問同步。一種解決方法是在創(chuàng)建List時構(gòu)造一個同步的List:

  List list = Collections.synchronizedList(new LinkedList(…));

  Vector

  與ArrayList相似,但是Vector是同步的。所以說Vector是線程安全的動態(tài)數(shù)組。它的操作與ArrayList幾乎一樣。

  Stack

  Stack繼承自Vector,實現(xiàn)一個后進(jìn)先出的堆棧。Stack提供5個額外的方法使得Vector得以被當(dāng)作堆棧使用?;镜膒ush和pop方法,還有peek方法得到棧頂?shù)脑?,empty方法測試堆棧是否為空,search方法檢測一個元素在堆棧中的位置。Stack剛創(chuàng)建后是空棧。

  二、Set接口

  Set是一個繼承于Collection的接口,Set是一種不包括重復(fù)元素的Collection。它維持它自己的內(nèi)部排序,所以隨機(jī)訪問沒有任何意義。與List一樣,它同樣運行null的存在但是僅有一個。由于Set接口的特殊性,所有傳入Set集合中的元素都必須不同,關(guān)于API方面。Set的API和Collection完全一樣。實現(xiàn)了Set接口的集合有:HashSet、TreeSet、LinkedHashSet、EnumSet。

  HashSet

  HashSet堪稱查詢速度最快的集合,因為其內(nèi)部是以HashCode來實現(xiàn)的。集合元素可以是null,但只能放入一個null。它內(nèi)部元素的順序是由哈希碼來決定的,所以它不保證set的迭代順序;特別是它不保證該順序恒久不變。

  TreeSet

  TreeSet是二叉樹實現(xiàn)的,基于TreeMap,生成一個總是處于排序狀態(tài)的set,內(nèi)部以TreeMap來實現(xiàn),不允許放入null值。它是使用元素的自然順序?qū)υ剡M(jìn)行排序,或者根據(jù)創(chuàng)建Set時提供的 Comparator 進(jìn)行排序,具體取決于使用的構(gòu)造方法。

  LinkedHashSet

  LinkedHashSet集合同樣是根據(jù)元素的hashCode值來決定元素的存儲位置,但是它同時使用鏈表維護(hù)元素的次序。這樣使得元素看起 來像是以插入順序保存的,也就是說,當(dāng)遍歷該集合時候,LinkedHashSet將會以元素的添加順序訪問集合的元素。LinkedHashSet在迭代訪問Set中的全部元素時,性能比HashSet好,但是插入時性能稍微遜色于HashSet。

  三、Map接口

  Map與List、Set接口不同,它是由一系列鍵值對組成的集合,提供了key到Value的映射。在Map中它保證了key與value之間的一一對應(yīng)關(guān)系。也就是說一個key對應(yīng)一個value,所以它不能存在相同的key值,當(dāng)然value值可以相同。實現(xiàn)map的集合有:HashMap、HashTable、TreeMap、WeakHashMap。

  HashMap

  以哈希表數(shù)據(jù)結(jié)構(gòu)實現(xiàn),查找對象時通過哈希函數(shù)計算其位置,它是為快速查詢而設(shè)計的,其內(nèi)部定義了一個hash表數(shù)組(Entry[] table),元素會通過哈希轉(zhuǎn)換函數(shù)將元素的哈希地址轉(zhuǎn)換成數(shù)組中存放的索引,如果有沖突,則使用散列鏈表的形式將所有相同哈希地址的元素串起來,可能通過查看HashMap.Entry的源碼它是一個單鏈表結(jié)構(gòu)。

  HashTable

  也是以哈希表數(shù)據(jù)結(jié)構(gòu)實現(xiàn)的,解決沖突時與HashMap也一樣也是采用了散列鏈表的形式。HashTable繼承Dictionary類,實現(xiàn)Map接口。其中Dictionary類是任何可將鍵映射到相應(yīng)值的類(如 Hashtable)的抽象父類。每個鍵和每個值都是一個對象。在任何一個 Dictionary 對象中,每個鍵至多與一個值相關(guān)聯(lián)。Map是”key-value鍵值對”接口。 HashTable采用”拉鏈法”實現(xiàn)哈希表不過性能比HashMap要低。

  TreeMap

  有序散列表,實現(xiàn)SortedMap接口,底層通過紅黑樹實現(xiàn)。

  WeakHashMap

  談WeakHashMap前先看一下Java中的引用(強(qiáng)度依次遞減)

  1. 強(qiáng)引用:普遍對象聲明的引用,存在便不會GC

  2. 軟引用:有用但并非必須,發(fā)生內(nèi)存溢出前,二次回收

  3. 弱引用:只能生存到下次GC之前,無論是否內(nèi)存足夠

  4. 虛引用:唯一目的是在這個對象被GC時能收到一個系統(tǒng)通知

  以弱鍵實現(xiàn)的基于哈希表的Map。在 WeakHashMap 中,當(dāng)某個鍵不再正常使用時,將自動移除其條目。更精確地說,對于一個給定的鍵,其映射的存在并不阻止垃圾回收器對該鍵的丟棄,這就使該鍵成為可終止的,被終止,然后被回收。丟棄某個鍵時,其條目從映射中有效地移除,因此,該類的行為與其他的 Map 實現(xiàn)有所不同。null值和null鍵都被支持。該類具有與HashMap類相似的性能特征,并具有相同的效能參數(shù)初始容量和加載因子。像大多數(shù)集合類一樣,該類是不同步的。

  四、總結(jié)

  1、List、Set都是繼承自Collection接口,Map則不是

  2、List特點:元素有放入順序,元素可重復(fù) ,Set特點:元素?zé)o放入順序,元素不可重復(fù),重復(fù)元素會覆蓋掉,(注意:元素雖然無放入順序,但是元素在set中的位置是有該元素的HashCode決定的,其位置其實是固定的,加入Set 的Object必須定義equals()方法 ,另外list支持for循環(huán),也就是通過下標(biāo)來遍歷,也可以用迭代器,但是set只能用迭代,因為他無序,無法用下標(biāo)來取得想要的值。)

  3、Set和List對比:

  Set:檢索元素效率低下,刪除和插入效率高,插入和刪除不會引起元素位置改變。

  List:和數(shù)組類似,List可以動態(tài)增長,查找元素效率高,插入刪除元素效率低,因為會引起其他元素位置改變。

  4、Map適合儲存鍵值對的數(shù)據(jù)

  5、線程安全集合類與非線程安全集合類 :

  · LinkedList、ArrayList、HashSet是非線程安全的,Vector是線程安全的;

  · HashMap是非線程安全的,HashTable是線程安全的;

  · StringBuilder是非線程安全的,StringBuffer是線程安全的。

  更多關(guān)于“Java培訓(xùn)”的問題,歡迎咨詢千鋒教育在線名師。千鋒已有十余年的培訓(xùn)經(jīng)驗,課程大綱更科學(xué)更專業(yè),有針對零基礎(chǔ)的就業(yè)班,有針對想提升技術(shù)的好程序員班,高品質(zhì)課程助理你實現(xiàn)java程序員夢想。

tags:
聲明:本站稿件版權(quán)均屬千鋒教育所有,未經(jīng)許可不得擅自轉(zhuǎn)載。
10年以上業(yè)內(nèi)強(qiáng)師集結(jié),手把手帶你蛻變精英
請您保持通訊暢通,專屬學(xué)習(xí)老師24小時內(nèi)將與您1V1溝通
免費領(lǐng)取
今日已有369人領(lǐng)取成功
劉同學(xué) 138****2860 剛剛成功領(lǐng)取
王同學(xué) 131****2015 剛剛成功領(lǐng)取
張同學(xué) 133****4652 剛剛成功領(lǐng)取
李同學(xué) 135****8607 剛剛成功領(lǐng)取
楊同學(xué) 132****5667 剛剛成功領(lǐng)取
岳同學(xué) 134****6652 剛剛成功領(lǐng)取
梁同學(xué) 157****2950 剛剛成功領(lǐng)取
劉同學(xué) 189****1015 剛剛成功領(lǐng)取
張同學(xué) 155****4678 剛剛成功領(lǐng)取
鄒同學(xué) 139****2907 剛剛成功領(lǐng)取
董同學(xué) 138****2867 剛剛成功領(lǐng)取
周同學(xué) 136****3602 剛剛成功領(lǐng)取
相關(guān)推薦HOT
抖音小店怎么做代銷

抖音已經(jīng)成為了一個非常受歡迎的短視頻應(yīng)用程序,在其中許多用戶都精心打造了自己的小店,用于銷售各種各樣的商品,獲取額外的收入。然而,要想...詳情>>

2023-10-08 15:28:41
怎樣開抖音小店帶貨賺錢

隨著直播帶貨的火熱,越來越多的人開始嘗試通過抖音小店來開展帶貨業(yè)務(wù)。抖音小店是抖音直播帶貨的配套,可以讓用戶在購買直播中產(chǎn)品時就實現(xiàn)購...詳情>>

2023-10-08 15:06:36
能不能幫我打開抖音小店店鋪呢怎么弄

抖音小店是近年來非?;鸨囊粋€網(wǎng)絡(luò)業(yè)務(wù),也是提供了很多商業(yè)機(jī)會的平臺。對于一個創(chuàng)業(yè)者而言,開設(shè)抖音小店是一個不錯的選擇。但是,許多小店...詳情>>

2023-10-08 15:01:21
藍(lán)v抖音小店怎么開通店鋪

藍(lán)v抖音小店是一個非常熱門的電商平臺,它可以讓賣家在抖音上開設(shè)自己的店鋪,從而出售自己的商品。隨著抖音的不斷發(fā)展壯大,越來越多的賣家希...詳情>>

2023-10-08 14:51:53
抖音小店怎么更改類目名稱

抖音小店是現(xiàn)在非?;馃岬囊环N網(wǎng)店形態(tài),許多小生意也從中獲得了收益。但是隨著經(jīng)營時間的增長,小店也需要對自己的類目名稱進(jìn)行更改,因為這可...詳情>>

2023-10-08 14:46:50
色综合老司机第九色激情 _中文字幕日韩av资源站_国产+人+亚洲_久久久精品影院_久久久视频免费观看_欧美激情亚洲自拍_亚洲成av人片在线观看香蕉_热草久综合在线_欧美极品第一页_2020国产精品自拍
91麻豆福利精品推荐| 6080国产精品一区二区| 精品一区二区三区不卡| 91论坛在线播放| 中文字幕av一区二区三区高 | 亚洲h精品动漫在线观看| 99这里只有精品| 一区二区中文字幕在线| 成人精品一区二区三区中文字幕| 久久综合九色欧美综合狠狠| 国模少妇一区二区三区| 国产女人18毛片水真多成人如厕| 国产乱子轮精品视频| 久久久久久久久久久黄色| 国产一区二三区好的| 日韩伦理免费电影| 欧美一二三四在线| 99久久精品免费精品国产| 亚洲午夜久久久久久久久电影院| 日韩精品在线看片z| 成人av手机在线观看| 午夜a成v人精品| 国产精品国产自产拍在线| 欧美欧美欧美欧美| 99国内精品久久| 国产精品1区2区3区在线观看| 亚洲综合自拍偷拍| 欧美激情艳妇裸体舞| 91麻豆精品国产自产在线| 成人少妇影院yyyy| 久久97超碰色| 免费在线观看精品| 一区二区欧美精品| 国产精品美女www爽爽爽| 这里只有精品电影| 91丝袜呻吟高潮美腿白嫩在线观看| 日韩高清一区在线| 一区二区三区四区国产精品| 久久先锋资源网| 日韩欧美综合在线| 制服丝袜中文字幕一区| 在线观看国产精品网站| 国产999精品久久久久久绿帽| 日韩精品一区第一页| 亚洲女性喷水在线观看一区| 国产色一区二区| 国产欧美一区二区三区鸳鸯浴| 91精品中文字幕一区二区三区| 色综合天天做天天爱| 成人免费视频视频| 99久久精品免费看| 92精品国产成人观看免费| eeuss鲁片一区二区三区| 成人黄色软件下载| 色天天综合久久久久综合片| 一本久道中文字幕精品亚洲嫩| 91在线视频官网| 欧美三级欧美一级| 欧美电影一区二区| 精品理论电影在线观看| 久久亚洲精品国产精品紫薇| 国产三级欧美三级| 亚洲另类中文字| 日韩av二区在线播放| 国产伦精品一区二区三区在线观看| 国产一区中文字幕| 91性感美女视频| 欧美日韩亚洲丝袜制服| 精品欧美一区二区在线观看| 久久综合久久鬼色中文字| 国产精品卡一卡二| 亚洲va在线va天堂| 韩国成人福利片在线播放| 成人污污视频在线观看| 欧美日韩大陆在线| 国产精品日产欧美久久久久| 亚洲一区二区三区爽爽爽爽爽 | 久久你懂得1024| 亚洲欧美日韩系列| 免费看欧美美女黄的网站| 国产成人av一区二区三区在线| 色噜噜狠狠色综合中国| 欧美videos中文字幕| 亚洲同性gay激情无套| 日本一道高清亚洲日美韩| 成人精品免费网站| 精品国产欧美一区二区| 亚洲欧美日韩国产中文在线| 国产一区二区免费在线| 欧美久久久久久久久久| 国产精品久久久久毛片软件| 久久精品国产免费| 欧美巨大另类极品videosbest| 中文字幕制服丝袜成人av | 777色狠狠一区二区三区| 国产日韩视频一区二区三区| 亚洲v中文字幕| 色一情一伦一子一伦一区| 国产日韩精品一区| 国产在线播放一区| 日韩免费高清av| 蜜臀av一区二区在线免费观看 | 在线观看亚洲一区| 国产精品网站在线播放| 国产永久精品大片wwwapp| 欧美一级片免费看| 免费观看成人av| 欧美一区二区不卡视频| 天天综合天天综合色| 欧美久久久久久久久中文字幕| 一二三区精品福利视频| 91丨九色丨黑人外教| 一区二区中文字幕在线| 99视频精品全部免费在线| 国产精品剧情在线亚洲| 91丨九色丨蝌蚪丨老版| 亚洲三级在线免费观看| 在线免费一区三区| 日韩精品乱码免费| 欧美电影精品一区二区| 久久国产精品99久久久久久老狼| 日韩欧美精品在线视频| 韩日欧美一区二区三区| 久久综合99re88久久爱| 成人妖精视频yjsp地址| 一区二区三区在线视频免费观看| 欧美日韩一区二区在线观看| 蜜桃一区二区三区四区| 国产无人区一区二区三区| 99久久国产免费看| 石原莉奈一区二区三区在线观看| 欧美xxxxx裸体时装秀| 国产成人免费在线视频| 亚洲丝袜另类动漫二区| 欧美日韩一级大片网址| 国产一区二区影院| 玉足女爽爽91| 久久久亚洲午夜电影| 一本大道综合伊人精品热热| 另类综合日韩欧美亚洲| 中文字幕一区二区在线播放| 欧美日韩成人一区二区| 成人午夜av在线| 蜜桃一区二区三区在线观看| 亚洲天堂久久久久久久| 欧美va天堂va视频va在线| 欧美在线观看你懂的| 国产成人综合视频| 水蜜桃久久夜色精品一区的特点| 久久久精品免费网站| 91麻豆精品久久久久蜜臀| 96av麻豆蜜桃一区二区| 韩国av一区二区三区| 天堂一区二区在线免费观看| 自拍偷拍国产亚洲| 日本一区二区三区免费乱视频| 欧美日韩成人高清| 欧美三级韩国三级日本三斤| 99国产精品久久久久久久久久| 久久精品99久久久| 另类小说综合欧美亚洲| 青青青爽久久午夜综合久久午夜| 一区二区欧美在线观看| 亚洲精品国产无天堂网2021| 欧美经典一区二区三区| 久久久精品天堂| 久久久精品天堂| 国产亚洲精品bt天堂精选| 精品久久久久久亚洲综合网| 欧美一区午夜精品| 日韩亚洲欧美成人一区| 日韩精品自拍偷拍| 欧美精品一区二区三区在线 | 亚洲一区二区av电影| 亚洲三级在线观看| 亚洲一区二区三区四区不卡| 一区二区三区精品视频在线| 亚洲一区成人在线| 免费成人在线影院| 久久99国产精品尤物| 国产精品一区免费视频| 不卡的电影网站| 91久久精品午夜一区二区| 欧美婷婷六月丁香综合色| 678五月天丁香亚洲综合网| 日韩欧美中文字幕一区| 精品国产一区二区三区忘忧草| 久久久亚洲综合| 一区二区免费视频| 麻豆国产欧美一区二区三区| 国产精品12区| 色美美综合视频| 精品国产一区二区三区不卡| 国产精品天美传媒| 午夜私人影院久久久久| 国产一区二区在线观看免费| 色成年激情久久综合| 欧美r级在线观看| 亚洲综合999| 成人激情文学综合网|