黄色网址大全免费-黄色网址你懂得-黄色网址你懂的-黄色网址有那些-免费超爽视频-免费大片黄国产在线观看

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點(diǎn)LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) Java編程技術(shù)分享,Java常用集合類

Java編程技術(shù)分享,Java常用集合類

更新時間:2020-05-22 16:08:30 來源:動力節(jié)點(diǎn) 瀏覽2265次

Java集合框架是Java設(shè)計者非常重要的一個設(shè)計靈感體現(xiàn)。相對數(shù)組,Java提供的集合框架是非常高效且方便的,同時也易于操作。根據(jù)我們平時書寫代碼的頻率以及面試時經(jīng)常被問到的知識點(diǎn)里,都不可或缺的提到集合框架,好多同學(xué)其實(shí)都學(xué)過集合框架,但是用的時候卻發(fā)現(xiàn)自己從沒仔細(xì)想過,我為什么要用這個集合呢?

Java編程技術(shù)分享,Java常用集合類

常用集合類比較

1.List類和Set類

List類和Set類是Collection集合接口的子接口。

Set子接口:無序,不允許重復(fù)。

List子接口:有序,可以有重復(fù)元素。

2.Set和List對比

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

List:和數(shù)組類似,List可以動態(tài)增長,查找元素效率高,插入刪除元素效率低,因?yàn)闀鹌渌匚恢酶淖儭?/p>

3.Set和List具體子類

Set

|————HashSet:以哈希表的形式存放元素,插入刪除速度很快。

|————LinkedHashSet:采用哈希表存儲結(jié)構(gòu),同時使用鏈表維護(hù)次序。

|————TreeSet:采用二叉樹(紅黑樹)的存儲結(jié)構(gòu)。

List

|————ArrayList:動態(tài)數(shù)組

|————LinkedList:鏈表、隊列、堆棧。

Map接口

Map接口是獨(dú)立的一個接口,與Collection接口沒有關(guān)系。

特點(diǎn)是:數(shù)據(jù)是 key-value 映射

具體子類:

|———— HashMap

Key 無序 唯一 (Set)

Value 無序 不唯一 (Collection)

|———— LinkedHashMap

有序的HashMap 速度快

|———— TreeMap

有序 速度沒有hash快

注意:HashSet底層結(jié)構(gòu)其實(shí)就是調(diào)用HashMap

如何應(yīng)對面試中關(guān)于集合框架的問題呢?

1.從線程安全方面比較

線程安全就是說多線程訪問同一代碼,不會產(chǎn)生不確定的結(jié)果。集合框架之間的區(qū)別和比較的一個點(diǎn),也就是包括是否線程安全,一般情況下,線程安全就必定速度或效率相對就低,這是由設(shè)計決定的。

線程安全集合類與非線程安全集合類

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

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

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

2.從適用場景比較

對于查找和刪除較為頻繁,且元素數(shù)量較多的應(yīng)用,Set或Map是更好的選擇;

ArrayList適用于通過為位置來讀取元素的場景;

LinkedList 適用于要頭尾操作或插入指定位置的場景;

Vector 適用于要線程安全的ArrayList的場景;

Stack 適用于線程安全的LIFO場景;

HashSet 適用于對排序沒有要求的非重復(fù)元素的存放;

TreeSet 適用于要排序的非重復(fù)元素的存放;

HashMap 適用于大部分key-value的存取場景;

TreeMap 適用于需排序存放的key-value場景。

最后附上集合框架比較的詳細(xì)圖

Java編程技術(shù)分享,Java常用集合類

集合框架不要死記硬背,一定要理解他們的數(shù)據(jù)結(jié)構(gòu)及底層實(shí)現(xiàn)原理,實(shí)際工作中,我們常用的也就那么幾個,只是面試過程中,會經(jīng)常被問到它們之間的區(qū)別和差異!

以上就是動力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java編程技術(shù)分享,Java常用集合類”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費(fèi)課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 午夜爽爽爽视频 | 国产精品欧美一区二区三区 | 波多野结衣视频在线观看 | 手机在线亚洲 | 伊人精品在线观看 | 国产综合色在线视频区色吧图片 | 亚洲欧美二区三区久本道 | 中文网丁香综合网 | 一级在线免费观看 | 在线99视频 | 成人免费网站在线观看 | 羞羞视频免费观 | 91精品欧美| 日韩在线视频精品 | nu77亚洲综合日韩精品 | 精品在线一区二区 | 簧片视频在线观看 | 成人手机在线观看 | 成人精品| 手机看片国产欧美日韩高清 | 热久久精品免费视频 | 亚洲图区综合网 | 两性午夜又粗又大又爽视频 | 国产一级特黄高清在线大片 | 国产福利免费观看 | 一级全黄生活片 | 美女黄色在线 | 18免费视频 | 五月月色开心婷婷久久合 | 欧美视频性 | 亚洲视频 中文字幕 | 国产精品亚洲欧美日韩区 | 涩涩成人免费视频 | 五月综合色 | www.午夜色.com | 日本在线黄色网址 | 日韩在线激情 | 小明爱看看永久成人免费平台 | 天天狠狠干| 亚洲成年看片在线观看男男 | 国产精品福利午夜h视频 |