八、集合框架

一芋浮、java什么是集合冲甘。

其實(shí)集合跟數(shù)組差不多,只不過長(zhǎng)度是可以變化的。

List :有序的江醇,可以通過下標(biāo)訪問讀取

Map:無序的濒憋,是通過鍵值對(duì)存取

?Set:就是一個(gè)無序集合

它們的基本都實(shí)現(xiàn)Collection

1.常用集合:

List-->ArrayList

List-->LinkedList



二、集合跟數(shù)組有什么區(qū)別陶夜。

ArrayList和LinkedList的大致區(qū)別如下:

1.ArrayList是實(shí)現(xiàn)了基于動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu)凛驮,LinkedList基于鏈表的數(shù)據(jù)結(jié)構(gòu)。

2.對(duì)于隨機(jī)訪問get和set条辟,ArrayList覺得優(yōu)于LinkedList黔夭,因?yàn)長(zhǎng)inkedList要移動(dòng)指針。

3.對(duì)于新增和刪除操作add和remove羽嫡,LinedList比較占優(yōu)勢(shì)本姥,因?yàn)锳rrayList要移動(dòng)數(shù)據(jù)。

https://www.cnblogs.com/soundcode/p/6294174.html

三杭棵、常用集合Map

List集合跟Map集合差別在哪婚惫?

List:它是根據(jù)下標(biāo)來進(jìn)行添加和讀取,是有順序的魂爪。

Map:是根據(jù)鍵值對(duì)來添加和讀取先舷,Key value


HashMap和TreeMap的區(qū)別

HashMap:數(shù)組方式存儲(chǔ)key/value,線程非安全滓侍,允許null作為key和value蒋川,key不可以重復(fù),value允許重復(fù)撩笆,不保證元素迭代順序是按照插入時(shí)的順序捺球,key的hash值是先計(jì)算key的hashcode值,然后再進(jìn)行計(jì)算夕冲,每次容量擴(kuò)容會(huì)重新計(jì)算所以key的hash值氮兵,會(huì)消耗資源,要求key必須重寫equals和hashcode方法 耘擂。

默認(rèn)初始容量16胆剧,加載因子0.75,擴(kuò)容為舊容量乘2醉冤,查找元素快秩霍,如果key一樣則比較value,如果value不一樣蚁阳,則按照鏈表結(jié)構(gòu)存儲(chǔ)value铃绒,就是一個(gè)key后面有多個(gè)value;

TreeMap:基于紅黑二叉樹的NavigableMap的實(shí)現(xiàn)螺捐,線程非安全颠悬,不允許null矮燎,key不可以重復(fù),value允許重復(fù)赔癌,存入TreeMap的元素應(yīng)當(dāng)實(shí)現(xiàn)Comparable接口或者實(shí)現(xiàn)Comparator接口诞外,會(huì)按照排序后的順序迭代元素,兩個(gè)相比較的key不得拋出classCastException灾票。主要用于存入元素的時(shí)候?qū)υ剡M(jìn)行自動(dòng)排序峡谊,迭代輸出的時(shí)候就按排序順序輸出 。

作業(yè)思考

1刊苍、

動(dòng)態(tài)數(shù)組的數(shù)據(jù)結(jié)構(gòu)

鏈表的數(shù)據(jù)結(jié)構(gòu)

2既们、Map有幾種表現(xiàn)形式,它們之間有什么差別正什?

作業(yè)1:

第一題:要求產(chǎn)生10個(gè)隨機(jī)的字符串,每一個(gè)字符串互相不重復(fù),每一個(gè)字符串中組成的字符(a-zA-Z0-9)也不相同,每個(gè)字符串長(zhǎng)度為10;

分析:*1.看到這個(gè)題目,或許你腦海中會(huì)想到很多方法,比如判斷生成的字符串是否包含重復(fù),在判斷長(zhǎng)度是不是10,等等.

*2.其實(shí)這題我們可以培養(yǎng)一個(gè)習(xí)慣,大問題分解小問題解決.

(1).10個(gè)字符串,我們先產(chǎn)生一個(gè)10個(gè)字符不重復(fù)的字符串,

(2).怎么去重復(fù)呢?集合中的HashSet就可以,這題不適合用包含方法做,代碼復(fù)雜

(3).字符組成是由(a-zA-Z0-9)? 難道我們?cè)陔S機(jī)他們的碼表一一判斷嗎?-------->可以把們放到一個(gè)容器中ArrayList 在集合的隨機(jī)索引



四啥纸、HashMap,LinkedHashMap,TreeMap的區(qū)別。

Map主要用于儲(chǔ)存鍵值對(duì)婴氮,根據(jù)鍵得到值斯棒,因此不允許鍵重復(fù)(若重復(fù)則覆蓋),但是允許值重復(fù)莹妒。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末名船,一起剝皮案震驚了整個(gè)濱河市绰上,隨后出現(xiàn)的幾起案子旨怠,更是在濱河造成了極大的恐慌,老刑警劉巖蜈块,帶你破解...
    沈念sama閱讀 212,332評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件鉴腻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡百揭,警方通過查閱死者的電腦和手機(jī)爽哎,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,508評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來器一,“玉大人课锌,你說我怎么就攤上這事∑盹酰” “怎么了渺贤?”我有些...
    開封第一講書人閱讀 157,812評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)请毛。 經(jīng)常有香客問我志鞍,道長(zhǎng),這世上最難降的妖魔是什么方仿? 我笑而不...
    開封第一講書人閱讀 56,607評(píng)論 1 284
  • 正文 為了忘掉前任固棚,我火速辦了婚禮统翩,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘此洲。我一直安慰自己厂汗,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,728評(píng)論 6 386
  • 文/花漫 我一把揭開白布呜师。 她就那樣靜靜地躺著面徽,像睡著了一般。 火紅的嫁衣襯著肌膚如雪匣掸。 梳的紋絲不亂的頭發(fā)上趟紊,一...
    開封第一講書人閱讀 49,919評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音碰酝,去河邊找鬼霎匈。 笑死,一個(gè)胖子當(dāng)著我的面吹牛送爸,可吹牛的內(nèi)容都是我干的铛嘱。 我是一名探鬼主播,決...
    沈念sama閱讀 39,071評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼袭厂,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼墨吓!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起纹磺,我...
    開封第一講書人閱讀 37,802評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤帖烘,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后橄杨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體秘症,經(jīng)...
    沈念sama閱讀 44,256評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,576評(píng)論 2 327
  • 正文 我和宋清朗相戀三年式矫,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了乡摹。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,712評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡采转,死狀恐怖聪廉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情故慈,我是刑警寧澤板熊,帶...
    沈念sama閱讀 34,389評(píng)論 4 332
  • 正文 年R本政府宣布,位于F島的核電站惯悠,受9級(jí)特大地震影響邻邮,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜克婶,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,032評(píng)論 3 316
  • 文/蒙蒙 一筒严、第九天 我趴在偏房一處隱蔽的房頂上張望丹泉。 院中可真熱鬧,春花似錦鸭蛙、人聲如沸摹恨。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)晒哄。三九已至,卻和暖如春肪获,著一層夾襖步出監(jiān)牢的瞬間寝凌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,026評(píng)論 1 266
  • 我被黑心中介騙來泰國(guó)打工孝赫, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留较木,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,473評(píng)論 2 360
  • 正文 我出身青樓青柄,卻偏偏與公主長(zhǎng)得像伐债,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子致开,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,606評(píng)論 2 350

推薦閱讀更多精彩內(nèi)容

  • Java集合類可用于存儲(chǔ)數(shù)量不等的對(duì)象,并可以實(shí)現(xiàn)常用的數(shù)據(jù)結(jié)構(gòu)如棧,隊(duì)列等,Java集合還可以用于保存具有映射關(guān)...
    小徐andorid閱讀 1,925評(píng)論 0 13
  • 一双戳、集合入門總結(jié) 集合框架: Java中的集合框架大類可分為Collection和Map虹蒋;兩者的區(qū)別: 1、Col...
    程序員歐陽(yáng)閱讀 11,547評(píng)論 2 61
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語(yǔ)法拣技,類相關(guān)的語(yǔ)法千诬,內(nèi)部類的語(yǔ)法耍目,繼承相關(guān)的語(yǔ)法膏斤,異常的語(yǔ)法,線程的語(yǔ)...
    子非魚_t_閱讀 31,598評(píng)論 18 399
  • 在一個(gè)方法內(nèi)部定義的變量都存儲(chǔ)在棧中邪驮,當(dāng)這個(gè)函數(shù)運(yùn)行結(jié)束后莫辨,其對(duì)應(yīng)的棧就會(huì)被回收,此時(shí)毅访,在其方法體中定義的變量將不...
    Y了個(gè)J閱讀 4,413評(píng)論 1 14
  • 整理/陽(yáng)妹兒 概述 畸胎瘤一種被膜包覆的腫瘤沮榜,在腫瘤中可以看到許多類似于正常器官的組織混雜其間,如毛發(fā)喻粹、軟骨蟆融、腺體...
    陽(yáng)妹兒閱讀 1,224評(píng)論 1 0