最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

學(xué)習(xí)記錄之集合

2022-08-20 15:44 作者:星月襲空  | 我要投稿

什么是集合

集合與數(shù)組一樣,可以保存一組元素,并且提供了操作元素的相關(guān)方法,使用更方便.

java集合框架中相關(guān)接口

java.util.Collection接口:

java.util.Collection是所有集合的頂級(jí)接口.Collection下面有多種實(shí)現(xiàn)類,因此我們有更多的數(shù)據(jù)結(jié)構(gòu)可供選擇.

Collection下面有兩個(gè)常見的子接口:

  • java.util.List:線性表.是可重復(fù)集合,并且有序.

  • java.util.Set:不可重復(fù)的集合,大部分實(shí)現(xiàn)類是無序的.

常用方法:

這里可重復(fù)指的是集合中的元素是否可以重復(fù),而判定重復(fù)元素的標(biāo)準(zhǔn)是依靠元素自身equals比較的結(jié)果.為true就認(rèn)為是重復(fù)元素;

集合與元素equals方法相關(guān)的方法


集合存放的是元素的引用

集合只能存放引用類型元素,并且存放的是元素的引用

集合間的操作:

集合提供了如取并集,刪交集,判斷包含子集等操作;

集合的遍歷:

Collection提供了統(tǒng)一的遍歷集合方式:迭代器模式

Iterator iterator()

該方法會(huì)獲取一個(gè)用于遍歷當(dāng)前集合元素的迭代器.

java.util.Iterator接口:

迭代器接口,定義了迭代器遍歷集合的相關(guān)操作.
不同的集合都實(shí)現(xiàn)了一個(gè)用于遍歷自身元素的迭代器實(shí)現(xiàn)類,我們無需記住它們的名字,用多態(tài)的角度把他們看做為Iterator即可.
迭代器遍歷集合遵循的步驟為:問,取,刪.其中刪除元素不是必要操作:

迭代器遍歷過程中不得通過集合的方法增刪元素

增強(qiáng)型for循環(huán)

JDK5之后推出了一個(gè)特性:增強(qiáng)型for循環(huán)

也稱為新循環(huán),使得我們可以使用相同的語法遍歷集合或數(shù)組.
- 語法:

泛型:

JDK5之后推出的另一個(gè)特性:泛型

泛型也稱為參數(shù)化類型,允許我們?cè)谑褂靡粋€(gè)類時(shí)指定它當(dāng)中屬性,方法參數(shù)或返回值的類型.

- 泛型在集合中被廣泛使用,用來指定集合中的元素類型.
- 有泛型支持的類在使用時(shí)若不指定泛型的具體類型則默認(rèn)為原型Object

List集:

java.util.List接口,繼承自Collection.

List集合是可重復(fù)集,并且有序,提供了一套可以通過下標(biāo)操作元素的方法

常用實(shí)現(xiàn)類:

- java.util.ArrayList:內(nèi)部使用數(shù)組實(shí)現(xiàn),查詢性能更好.
- java.util.LinkedList:內(nèi)部使用鏈表實(shí)現(xiàn),首尾增刪元素性能更好.

List集合常見方法:

get()與set():

重載的add()和remove()

subList()方法

集合與數(shù)組的轉(zhuǎn)換:

集合轉(zhuǎn)換為數(shù)組

Collection提供了一個(gè)方法:**toArray**,可以將當(dāng)前集合轉(zhuǎn)換為一個(gè)數(shù)組

數(shù)組轉(zhuǎn)換為L(zhǎng)ist集合:

數(shù)組的工具類Arrays提供了一個(gè)靜態(tài)方法**asList()**,可以將一個(gè)數(shù)組轉(zhuǎn)換為一個(gè)List集合

集合的排序

java.util.Collections類

Collections是集合的工具類,里面定義了很多靜態(tài)方法用于操作集合.

Collections.sort(List list)方法

可以對(duì)List集合進(jìn)行自然排序(從小到大)

集合的排序

java.util.Collections類

Collections是集合的工具類,里面定義了很多靜態(tài)方法用于操作集合.

Collections.sort(List list)方法

可以對(duì)List集合進(jìn)行自然排序(從小到大)

排序自定義類型元素

實(shí)際開發(fā)中,我們并不會(huì)讓我們自己定義的類(如果該類作為集合元素使用)去實(shí)現(xiàn)Comparable接口,因?yàn)檫@對(duì)我們的程序有侵入性.

侵入性:當(dāng)我們調(diào)用某個(gè)API功能時(shí),其要求我們?yōu)槠湫薷钠渌~外的代碼,這個(gè)現(xiàn)象就是侵入性.侵入性越強(qiáng)的API越不利于程序的后期可維護(hù)性.應(yīng)當(dāng)盡量避免.

重載的Collections.sort(List list,Comparator c)方法

Map 查找表

Map體現(xiàn)的結(jié)構(gòu)是一個(gè)多行兩列的表格,其中左列稱為key,右列稱為value.

  • Map總是成對(duì)保存數(shù)據(jù),并且總是根據(jù)key獲取對(duì)應(yīng)的value.因此我們可以將查詢的條件作為key查詢對(duì)應(yīng)的結(jié)果作為value保存到Map中.

  • Map有一個(gè)要求:key不允許重復(fù)(equals比較的結(jié)果)

java.util.Map接口,是所有Map的頂級(jí)接口,規(guī)定了Map的相關(guān)功能.

常用實(shí)現(xiàn)類:

  • java.util.HashMap:稱為散列表,使用散列算法實(shí)現(xiàn)的Map,當(dāng)今查詢速度最快的數(shù)據(jù)結(jié)構(gòu).

  • java.util.TreeMap:使用二叉樹實(shí)現(xiàn)的Map

Map的遍歷

Map支持三種遍歷方式:

  • 遍歷所有的key

  • 遍歷所有的鍵值對(duì)

  • 遍歷所有的value(相對(duì)不常用)

總結(jié)

java.util.Map 查找表

特點(diǎn):體現(xiàn)的結(jié)構(gòu)是一個(gè)多行兩列的表格,其中左列稱為key,右列稱為value。

Map中的key不允許重復(fù)。判定重復(fù)的標(biāo)準(zhǔn)是根據(jù)key的equals方法判定的。

常用的實(shí)現(xiàn)類:java.util.HashMap?散列表

常用方法:


學(xué)習(xí)記錄之集合的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國家法律
中方县| 齐河县| 仲巴县| 临汾市| 财经| 页游| 绥阳县| 内江市| 紫金县| 青川县| 宁远县| 晋江市| 盐山县| 大理市| 温宿县| 阳曲县| 定兴县| 淄博市| 巫山县| 乐山市| 通化县| 宜川县| 浦县| 阿图什市| 五台县| 鄂尔多斯市| 茂名市| 玉田县| 天峻县| 凭祥市| 富川| 鹤山市| 井研县| 沙坪坝区| 上虞市| 界首市| 凉山| 黔西| 梅州市| 广水市| 绥芬河市|