日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > java >内容正文

java

java怎么构造map_Java中Map结构

發(fā)布時(shí)間:2025/4/16 java 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java怎么构造map_Java中Map结构 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Colletion

Collection接口是劫和層次結(jié)構(gòu)中的根接口。一個(gè)Collection表示了一組對(duì)象,也稱其為元素(elements)。JDK不提供該接口的任何直接實(shí)現(xiàn),但是提供了具有更特定的子接口(例如:Set和List)Set:不包含重復(fù)元素的集合。集合中不能存在兩個(gè)元素e1和e2,使得

e1.equals(e2);

因此,集合中只能存在一個(gè)空元素。顧名思義,此接口是對(duì)應(yīng)數(shù)學(xué)中集合的抽象概念。List:可以包含重復(fù)元素的集合。并且該集合存在有序性(也稱為序列)。用戶可以精確控制列表中每個(gè)元素的插入位置,也可以通過其索引訪問元素。Java集合結(jié)構(gòu)。

MAP

Map是一個(gè)將鍵(Key)映射到值(Value)的對(duì)象。Map中不能包含重復(fù)的鍵,并且每個(gè)鍵最多可以映射一個(gè)值。Map代替了Dictionary類,不再作為一個(gè)純抽象類而是一個(gè)接口提供使用。

Map集合提供了三種集合視圖,其中有一組鍵(keySet)、一組值(values)和一組鍵值(entrySet)對(duì)。TreeMap:可以通過Map中的鍵來自然排序或在Map創(chuàng)建時(shí)通過提供的Comparator對(duì)Map進(jìn)行排序。

HashMap:此Map允許存在空值和空鍵存在,但不保證映射的順序。特別是,它不能保證順序會(huì)隨著時(shí)間的推移保持恒定。

在Java中,Map與Collection同級(jí),而并非與List和Set同級(jí)。Collection儲(chǔ)存單值而Map儲(chǔ)存鍵值對(duì)。

MAP常用方法

boolean isEmpty()

如果map中沒有任何鍵值對(duì)映射,則返回true。

boolean containsKey(Object key)

如果map中包含一個(gè)(最多只有一個(gè))特定鍵的映射,則返回true。

參數(shù)為:key - 要在map中測(cè)試的鍵。

boolean containsValue(Object value)

如果map中包含了一個(gè)或多個(gè)映射到鍵的值,則返回true。對(duì)于Map接口的大多數(shù)實(shí)現(xiàn),此方法需要消耗的時(shí)間與map的大小成線性增長(zhǎng)。

參數(shù)為:value - 要在map中測(cè)試的值。

V get(Object key)

返回特定鍵映射的值,如果該鍵在map中沒有對(duì)應(yīng)的映射,則返回null。

如果此map允許存放null值,則返回的null不一定表示該map不包含鍵的映射,也可能明確的指明該鍵的映射值為null。containsKey操作可以用來區(qū)分這兩種情況。

參數(shù)為:key - 一個(gè)鍵,該鍵所關(guān)聯(lián)的值會(huì)被返回。

V put(K key, V value)

將指定值與此映射中的指定鍵做關(guān)聯(lián)。如果map中的鍵已經(jīng)有對(duì)應(yīng)的映射值,則會(huì)將舊值替換為指定的值。(僅當(dāng)

m.containsKey(k);

返回true時(shí),才認(rèn)為map m包含鍵k的映射值)。該方法會(huì)返回鍵之前關(guān)聯(lián)的值,如果為null則該鍵沒有對(duì)應(yīng)的值。

參數(shù)為:key - 一個(gè)鍵,該鍵要與特定的值相關(guān)聯(lián)。

value - 一個(gè)值,該值要與特定的鍵相關(guān)聯(lián)。

V remove(Object key)

將指定鍵與其相關(guān)聯(lián)的一組鍵值對(duì)映射從map中移除。該方法會(huì)返回指定鍵所映射的值,如果該鍵沒有對(duì)應(yīng)的映射,則返回null。

與get方法相同,如果此map允許存在null值,則返回的null也可能明確的指明該鍵的映射值為null。

一旦調(diào)用此方法,則map中不再包含指定鍵與其映射值。

參數(shù)為:

key - 一個(gè)鍵,該鍵的一組鍵值對(duì)映射會(huì)被移出map。

void putAll(Map extends K, ? extends V> m)

將特定的map中的所有鍵值對(duì)復(fù)制到參數(shù)中給出的map中。對(duì)于從特定map中將鍵值對(duì)復(fù)制到給出的map中的操作等同于在給出的map中調(diào)用一次put(k, v)方法。如果在操作進(jìn)行過程中對(duì)特定的map進(jìn)行了修改,則不能保證此操作的正確性。

參數(shù)為:

m - 要存入map中的一組鍵值對(duì)映射組。

void clear()

移除map中的所有鍵值對(duì)。在執(zhí)行該方法后,該map會(huì)變成空。

Set> entrySet()

該方法返回此map中包含的映射的Set視圖。該set是基于原map的,所以map的數(shù)據(jù)改變會(huì)反映到set中,反之亦然。

如果在對(duì)set進(jìn)行迭代的時(shí)候修改了map(除非通過迭代器自身的remove操作或通過迭代器的setValue方法),則迭代的結(jié)果是不確定的。該set支持元素的刪除,刪除map中對(duì)應(yīng)的映射組。但不支持add或addAll操作。

Set keySet()

該方法返回此map中包含的key的Set視圖。該set是基于原map的,所以map的數(shù)據(jù)改變會(huì)反映到set中,反之亦然。

Collection values()

該方法返回此map中包含的values的collection視圖。該collection是基于原map的,所以map的數(shù)據(jù)改變會(huì)反映到collection中,反之亦然。

總結(jié)

以上是生活随笔為你收集整理的java怎么构造map_Java中Map结构的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。