這篇文章主要講解了“Java中Map集合體系的基本使用和常用API是什么”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Java中Map集合體系的基本使用和常用API是什么”吧!
成都創(chuàng)新互聯(lián)公司專注于大安市網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗(yàn)。 熱誠(chéng)為您提供大安市營(yíng)銷型網(wǎng)站建設(shè),大安市網(wǎng)站制作、大安市網(wǎng)頁(yè)設(shè)計(jì)、大安市網(wǎng)站官網(wǎng)定制、小程序開發(fā)服務(wù),打造大安市網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供大安市網(wǎng)站排名全網(wǎng)營(yíng)銷落地服務(wù)。
Map集合是一種雙列集合,每個(gè)元素包含兩個(gè)數(shù)據(jù)。
Map集合的每個(gè)元素的格式:key=value(鍵值對(duì)元素)。
Map集合也被稱為“鍵值對(duì)集合”。
Map集合整體格式:
Collection集合的格式:
[元素1,元素2,元素3..]
Map集合的完整格式:
{key1=value1 , key2=value2 , key3=value3 , ...}
Map集合的使用場(chǎng)景之一:購(gòu)物車系統(tǒng)
分析:
購(gòu)物車提供的四個(gè)商品和購(gòu)買的數(shù)量在后臺(tái)需要容器存儲(chǔ)。
每個(gè)商品對(duì)象都一一對(duì)應(yīng)一個(gè)購(gòu)買數(shù)量。
把商品對(duì)象看成是Map集合的建,購(gòu)買數(shù)量看成Map集合的值。
例如:
{商品1=2 , 商品2=3 , 商品3 = 2 , 商品4= 3}
Map集合中使用最多的Map集合是HashMap。
重點(diǎn)掌握HashMap , LinkedHashMap , TreeMap。其他的后續(xù)理解。
Map集合體系特點(diǎn):
Map集合的特點(diǎn)都是由鍵決定的。
Map集合的鍵是無(wú)序,不重復(fù)的,無(wú)索引的,值不做要求(可以重復(fù))。
Map集合后面重復(fù)的鍵對(duì)應(yīng)的值會(huì)覆蓋前面重復(fù)鍵的值。
Map集合的鍵值對(duì)都可以為null。
Map集合實(shí)現(xiàn)類特點(diǎn):
HashMap:元素按照鍵是無(wú)序,不重復(fù),無(wú)索引,值不做要求。(與Map體系一致)
public static void main(String[] args) { // 創(chuàng)建一個(gè)HashMap對(duì)象 Mapmaps = new HashMap<>(); // 向集合添加元素 maps.put("桌子", 2); maps.put("凳子", 10); maps.put("桌子", 10); // 鍵一樣會(huì)覆蓋前面的 maps.put(null, null); // 鍵值對(duì)可以為null // 輸出集合, 可以發(fā)現(xiàn)是無(wú)序的 System.out.println(maps); // {null=null, 凳子=10, 桌子=10}} LinkedHashMap:元素按照鍵是有序,不重復(fù),無(wú)索引,值不做要求。
public static void main(String[] args) { // 創(chuàng)建一個(gè)LinkedHashMap對(duì)象 // Mapmaps = new HashMap<>(); Map maps = new LinkedHashMap<>(); // 向集合添加元素 maps.put("桌子", 2); maps.put("凳子", 10); maps.put("桌子", 10); // 鍵一樣會(huì)覆蓋前面的 maps.put(null, null); // 鍵值對(duì)可以為null // 輸出集合, 是有序的 System.out.println(maps); // {桌子=10, 凳子=10, null=null}} TreeMap:元素是按照鍵排序,不重復(fù),無(wú)索引的,值不做要求。
public static void main(String[] args) { // 創(chuàng)建一個(gè)HashMap對(duì)象 // Mapmaps = new HashMap<>(); // Map maps = new LinkedHashMap<>(); Map maps = new TreeMap<>(); // 向集合添加元素 maps.put("ddd", 2); maps.put("bbb", 10); maps.put("ddd", 3); maps.put("aaa", 5); maps.put("ccc", 1); // 輸出集合, 元素按照鍵進(jìn)行排序 System.out.println(maps); // {aaa=5, bbb=10, ccc=1, ddd=3}}
Map是雙列集合的祖宗接口,它的功能是全部雙列集合都可以繼承使用的。
Map API如下:
方法名稱 | 說明 |
---|---|
put(K key,V value) | 添加元素 |
remove(Object key) | 根據(jù)鍵, 刪除鍵值對(duì)元素 |
clear() | 移除所有的鍵值對(duì)元素 |
containsKey(Object key) | 判斷集合是否包含指定的鍵 |
containsValue(Object value) | 判斷集合是否包含指定的值 |
isEmpty() | 判斷集合是否為空 |
size() | 集合的長(zhǎng)度,也就是集合中鍵值對(duì)的個(gè)數(shù) |
put方法添加元素
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
remove方法, 根據(jù)鍵刪除元素
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
clear方法, 清空集合元素
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
containsKey()方法, 判斷是否包含指定鍵
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
containsValue方法, 判斷是否包含指定值
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
isEmpty, 判斷集合是否為空
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
size方法, 集合元素的個(gè)數(shù)
public static void main(String[] args) {
// 創(chuàng)建Map集合對(duì)象
Map
擴(kuò)展方法: putAll合并其他集合, 合并遇到重復(fù)的key會(huì)進(jìn)行合并
public static void main(String[] args) {
Map
感謝各位的閱讀,以上就是“Java中Map集合體系的基本使用和常用API是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Java中Map集合體系的基本使用和常用API是什么這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!