接口概述
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站與策劃設(shè)計(jì),樂業(yè)網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)10多年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:樂業(yè)等地區(qū)。樂業(yè)做網(wǎng)站價(jià)格咨詢:13518219792
我們通過查看Map接口描述,發(fā)現(xiàn)Map接口下的集合與Collection接口下的集合,它們存儲(chǔ)數(shù)據(jù)的形式不同,如下圖。
Collection中的集合,元素是孤立存在的(理解為單身),向集合中存儲(chǔ)元素采用一個(gè)個(gè)元素的方式存儲(chǔ)。
Map中的集合,元素是成對(duì)存在的(理解為夫妻)。每個(gè)元素由鍵與值兩部分組成,通過鍵可以找對(duì)所對(duì)應(yīng)的值。
Collection中的集合稱為單列集合,Map中的集合稱為雙列集合。
需要注意的是,Map中的集合不能包含重復(fù)的鍵,值可以重復(fù);每個(gè)鍵只能對(duì)應(yīng)一個(gè)值。
Map中常用的集合為HashMap集合、LinkedHashMap集合。
Java中Map是一個(gè)接口,它不繼承任何其他的接口,可以說它是java中所有Map的頂級(jí)父接口。它的設(shè)計(jì)理念完全遵循上面的規(guī)則,只是具體的實(shí)現(xiàn)類種類很多,對(duì)應(yīng)不同應(yīng)用場景的使用,所以可能具體細(xì)節(jié)以及設(shè)計(jì)上存在差異。
Java的Map中提供了三種Map視圖以便于展示Map中的內(nèi)容:
1、只包含key的Set集合
2、只包含value的Collection
3、同時(shí)包含key-value映射的EntrySet
另外需要額外注意:不能使用可變的對(duì)象作為Map的key,因?yàn)橐坏┰搶?duì)象出現(xiàn)變化它會(huì)導(dǎo)致Map的行為無法預(yù)期(這里的變化指的是影響equals方法比較結(jié)果的變化);同時(shí)不能將Map本身作為一個(gè)Map的key,但是允許將Map本身作為value存入Map結(jié)構(gòu)中。
以上就是java的map是什么?的詳細(xì)內(nèi)容,更多請(qǐng)關(guān)注創(chuàng)新互聯(lián)其它相關(guān)文章!