集合

###集合,collection , map

*Array 數(shù)組。string[] s1 = new string[3];

*存儲內(nèi)容有區(qū)別侥猩,數(shù)組可以存儲基本類型和對象類型,而集合只能存儲對象抵赢。

*數(shù)組有長度限制欺劳,固定大小的數(shù)組,集合沒有長度限制铅鲤,大小不固定划提。

*數(shù)組的存儲結構是存儲單個數(shù)據(jù)。map可以存儲key = value 建值對邢享。形成了映射關聯(lián)結構

###collection 集合

*數(shù)組轉化為集合 Arrays.asList(students);???//students是數(shù)組

*集合大小獲取使用 list.size();

*集合對象獲取??list.get(i);??//獲取集合中第一個元素

*集合轉為數(shù)組???Student[] students2 = (Student[]) sList.toArray(new Student[sList.size()]);

*集合中添加元素??list.add();

###迭代器iterator鹏往,主要用于遍歷集合

Iterator it = sList.iterator();//將集合轉化為迭代器

while (it.hasNext()) {??//判斷是否存在下一個元素

Student st = it.next(); //返回下一個元素

st.info();

}

###泛型,1.5之前集合存儲的數(shù)據(jù)會自動強轉為object類型骇塘,這樣就發(fā)生了類型的丟失伊履,造成訪問安全。?????jdk1.5后新特性款违,解決集合容器數(shù)據(jù)安全問題唐瀑,主要原理是在類聲明時通過標識表示類中的具體對象型。

//這個說明容器list中存儲學生student類型對象

List list = Arrays.asList(students);

###foreach增強型for循環(huán)??迭代容器數(shù)據(jù)

for(類型 變量:要迭代的容器){

變量操作

}

###ArrayList類型

*構建 new

*添加 add(元素)

*刪除 remove(索引)

*更新 set(索引奠货,元素)

###linkedList 對于堆棧和鏈表結構有對應的實現(xiàn)介褥,所以自身包含新方法

*堆棧結構就是典型的 FILO 先進后出的結構。 例如:彈夾,最后壓入的子彈第一個打出去柔滔。

*入棧(壓棧)方法???push

*出棧(彈棧)方法???pop

###ArrayList 適用于查詢和循環(huán)遍歷 速度很快溢陪,LinkedList 適用于插入和刪除,速度很快

###ArrayList和Vector 的區(qū)別睛廊,兩者都是通過數(shù)組實現(xiàn)的形真。不同的是Vector支持線程同步,同一時刻只能一個線程訪問超全,他是線程安全的咆霜,避免了多線程并發(fā)訪問時的數(shù)據(jù)不一致問題(臟讀寫。)嘶朱。但是同步花費代價太高蛾坯,因此比ArrayList效率低,所以基本不在使用

###set 集合接口是collection接口的子類疏遏,不允許存儲相同對象脉课,如果添加相同對象,則添加失敗财异。

*1.不保證數(shù)據(jù)存儲的有序性(就是無序的)

*2.非線程安全

*3.可以添加null到集合

###set 判斷兩個對象是否相等不是使用的 == 比較倘零,而是使用equals方法判斷。

###自定義對象判斷相等戳寸,需要重寫hashcode()和eqauls()方法

####Map 雙列 存儲 key - value 主要實現(xiàn)類hashmap

####Map 特性 呈驶, key值不允許重復存儲,可以將null作為key和value來用疫鹊,無序存儲

###2_集合框架(Map集合的功能概述)

*A:Map集合的功能概述

* a:添加功能

* V put(K key,V value):添加元素袖瞻。

* 如果鍵是第一次存儲,就直接存儲元素订晌,返回null

* 如果鍵不是第一次存在虏辫,就用值把以前的值替換掉,返回以前的值

* b:刪除功能

* void clear():移除所有的鍵值對元素

* V remove(Object key):根據(jù)鍵刪除鍵值對元素锈拨,并把值返回

* c:判斷功能

* boolean containsKey(Object key):判斷集合是否包含指定的鍵

* boolean containsValue(Object value):判斷集合是否包含指定的值

* boolean isEmpty():判斷集合是否為空

* d:獲取功能

* Set> entrySet():

* V get(Object key):根據(jù)鍵獲取值

* Set keySet():獲取集合中所有鍵的集合

* Collection values():獲取集合中所有值的集合

* e:長度功能

* int size():返回集合中的鍵值對的個數(shù)

###3_集合框架(Map集合的遍歷之鍵找值)

*A:鍵找值思路:

* 獲取所有鍵的集合

* 遍歷鍵的集合,獲取到每一個鍵

* 根據(jù)鍵找值

*B:案例演示

* Map集合的遍歷之鍵找值

HashMap hm = new HashMap<>();

hm.put("張三", 23);

hm.put("李四", 24);

hm.put("王五", 25);

hm.put("趙六", 26);

/*Set keySet = hm.keySet();????????????//獲取集合中所有的鍵

Iterator it = keySet.iterator();????//獲取迭代器

while(it.hasNext()) {????????????????????????//判斷單列集合中是否有元素

String key = it.next();????????????????????//獲取集合中的每一個元素,其實就是雙列集合中的鍵

Integer value = hm.get(key);????????????//根據(jù)鍵獲取值

System.out.println(key + "=" + value);????//打印鍵值對

}*/

for(String key : hm.keySet()) {????????????????//增強for循環(huán)迭代雙列集合第一種方式

System.out.println(key + "=" + hm.get(key));

}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末羹唠,一起剝皮案震驚了整個濱河市奕枢,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌佩微,老刑警劉巖缝彬,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異哺眯,居然都是意外死亡谷浅,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來一疯,“玉大人撼玄,你說我怎么就攤上這事《昭” “怎么了掌猛?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長眉睹。 經(jīng)常有香客問我荔茬,道長,這世上最難降的妖魔是什么竹海? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任慕蔚,我火速辦了婚禮,結果婚禮上斋配,老公的妹妹穿的比我還像新娘坊萝。我一直安慰自己,他們只是感情好许起,可當我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布十偶。 她就那樣靜靜地躺著,像睡著了一般园细。 火紅的嫁衣襯著肌膚如雪惦积。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天猛频,我揣著相機與錄音狮崩,去河邊找鬼。 笑死鹿寻,一個胖子當著我的面吹牛睦柴,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播毡熏,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼坦敌,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了痢法?” 一聲冷哼從身側響起狱窘,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎财搁,沒想到半個月后蘸炸,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡尖奔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年搭儒,在試婚紗的時候發(fā)現(xiàn)自己被綠了穷当。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡淹禾,死狀恐怖馁菜,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情稀拐,我是刑警寧澤火邓,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站德撬,受9級特大地震影響铲咨,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜蜓洪,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一纤勒、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧隆檀,春花似錦摇天、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至裳仆,卻和暖如春腕让,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背歧斟。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工纯丸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人静袖。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓觉鼻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親队橙。 傳聞我的和親對象是個殘疾皇子坠陈,可洞房花燭夜當晚...
    茶點故事閱讀 44,933評論 2 355

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

  • 一、集合框架的概述 1喘帚、概述: 1畅姊、簡述:所謂集合,就是為方便對多個對象的操作吹由,對對象進行存儲。集合就是存儲對象最...
    玉圣閱讀 512評論 0 4
  • 集合框架體系概述 為什么出現(xiàn)集合類?方便多個對象的操作,就對對象進行存儲,集合就是存儲對象最常用的一種方法. 數(shù)組...
    acc8226閱讀 771評論 0 1
  • 概述 Java集合框架由Java類庫的一系列接口朱嘴、抽象類以及具體實現(xiàn)類組成倾鲫。我們這里所說的集合就是把一組對象組織到...
    absfree閱讀 1,254評論 0 10
  • 集合框架的概念: 集合代表了一組對象(和數(shù)組一樣粗合,但數(shù)組長度不能變,而集合能)乌昔。Java中的集合框架定義了一套規(guī)范...
    銹色的柵欄閱讀 331評論 0 2
  • 01 拼拼豆豆 像素化你的世界 拼拼豆豆是一款經(jīng)典入門級手工磕道,你所需要做的只需三步:數(shù)豆供屉,放豆和燙豆。 不要小瞧這...
    一點點輕手工閱讀 2,601評論 3 14