導航:首頁 > 使用方法 > Map常用的方法

Map常用的方法

發布時間:2022-02-05 04:14:17

① java遍歷map幾種簡單方法

代碼如下:

importjava.util.HashMap;
importjava.util.Map;

publicclassApp{

publicstaticvoidmain(String[]args){

Map<String,Object>map=newHashMap<>();

map.put("Name","Barry");
map.put("Gender","Male");
map.put("Age",25);


//第一種遍歷方式

for(Map.Entry<String,Object>entry:map.entrySet()){
System.out.println(entry.getKey()+"="+entry.getValue());
}

//第二種遍歷方式

map.forEach((key,value)->{
System.out.println(key+"="+value);
});


//通過遍歷key,然後再獲取value

for(Stringkey:map.keySet()){
System.out.println(key+"="+map.get(key));
}

//單獨遍歷values

for(Objectvalue:map.values()){
System.out.println(value);
}
}
}

② java中map有哪幾種實現方式,並且比較異同

Map是一種把鍵對象和值對象進行關聯的容器,而一個值對象又可以是一個Map,依次類推,這樣就可形成一個多級映射。對於鍵對象來說,像Set 一樣,一個Map容器中的鍵對象不允許重復,這是為了保持查找結果的一致性;如果有兩個鍵對象一樣,那你想得到那個鍵對象所對應的值對象時就有問題了,可 能你得到的並不是你想的那個值對象,結果會造成混亂,所以鍵的唯一性很重要,也是符合集合的性質的。當然在使用過程中,某個鍵所對應的值對象可能會發生變 化,這時會按照最後一次修改的值對象與鍵對應。對於值對象則沒有唯一性的要求。你可以將任意多個鍵都映射到一個值對象上,這不會發生任何問題(不過對你的 使用卻可能會造成不便,你不知道你得到的到底是那一個鍵所對應的值對象)。
Map有兩種比較常用的實現:HashMap和TreeMap,WeakMap。HashMap 也用到了哈希碼的演算法,以便快速查找一個鍵,TreeMap則是對鍵按序存放,因此它便有一些擴展的方法,比如firstKey(),lastKey() 等,你還可以從TreeMap中指定一個范圍以取得其子Map。鍵和值的關聯很簡單,用pub(Object key,Object value)方法即可將一個鍵與一個值對象相關聯。用get(Object key)可得到與此key對象所對應的值對象,WeakMap這個用於內存自動釋放的。

③ JAVA循環遍歷Map的幾種方法

第一種用for循環

Java代碼
for(Map.Entry<String, String> entry:map.entrySet()){
System.out.println(entry.getKey()+"--->"+entry.getValue());
}

第二種用迭代

Java代碼
Set set = map.entrySet();
Iterator i = set.iterator();
while(i.hasNext()){
Map.Entry<String, String> entry1=(Map.Entry<String, String>)i.next();
System.out.println(entry1.getKey()+"=="+entry1.getValue());
}

用keySet()迭代

Java代碼
Iterator it=map.keySet().iterator();
while(it.hasNext()){
String key;
String value;
key=it.next().toString();
value=map.get(key);
System.out.println(key+"--"+value);
}

用entrySet()迭代

Java代碼
Iterator it=map.entrySet().iterator();
System.out.println( map.entrySet().size());
String key;
String value;
while(it.hasNext()){
Map.Entry entry = (Map.Entry)it.next();
key=entry.getKey().toString();
value=entry.getValue().toString();
System.out.println(key+"===="+value);
}

④ java遍歷Map的幾種方法分析

1.先初始化一個map
public class TestMap {
public static Map<Integer, Integer> map = new HashMap<Integer, Integer>();
}
2.keySet values
如果只需要map的key或者value,用map的keySet或values方法無疑是最方便的
// KeySet 獲取key
public void testKeySet() {
for (Integer key : map.keySet()) {
System.out.println(key);
}
}
// values 獲取value
public void testValues() {
for (Integer value : map.values()) {
System.out.println(value);
}
}
3.keySet get(key)
如果需要同時獲取key和value,可以先獲取key,然後再通過map的get(key)獲取value

需要說明的是,該方法不是最優選擇,一般不推薦使用

// keySet get(key) 獲取key and value
public void testKeySetAndGetKey() {
for (Integer key : map.keySet()) {
System.out.println(key + ":" + map.get(key));
}
}
4.entrySet
通過對map entrySet的遍歷,也可以同時拿到key和value,一般情況下,性能上要優於上一種,這一種也是最常用的遍歷方法

// entrySet 獲取key and value
public void testEntry() {
for (Map.Entry<Integer, Integer> entry : map.entrySet()) {
System.out.println(entry.getKey() + ":" + entry.getValue());
}
}
5.Iterator
對於上面的幾種foreach都可以用Iterator代替,其實foreach在java5中才被支持,foreach的寫法看起來更簡潔

但Iterator也有其優勢:在用foreach遍歷map時,如果改變其大小,會報錯,但如果只是刪除元素,可以使用Iterator的remove方法刪除元素

// Iterator entrySet 獲取key and value
public void testIterator() {
Iterator<Map.Entry<Integer, Integer>> it = map.entrySet().iterator();
while (it.hasNext()) {
Map.Entry<Integer, Integer> entry = it.next();
System.out.println(entry.getKey() + ":" + entry.getValue());
// it.remove(); 刪除元素
}
}

⑤ java中map的常用遍歷方法有哪些

ava中map的常用遍歷的具體方法有:

一 、在for-each循環中使用entries來遍歷。這是最常見的並且在大多數情況下也是最可取的遍歷方式。在鍵值都需要時使用。

二、 在for-each循環中遍歷keys或values。如果只需要map中的鍵或者值,你可以通過keySet或values來實現遍歷,而不是用entrySet。

三、使用Iterator遍歷。

四、通過鍵找值遍歷(效率低)。

總結:如果僅需要鍵(keys)或值(values)使用方法二。如果你使用的語言版本低於java 5,或是打算在遍歷時刪除entries,必須使用方法三。否則使用方法一(鍵值都要)。

⑥ java中hashmap有哪些常用方法

Mapmap=newHashMap();map.put("測試",1);map.put("測試2",2);System.out.println(map.get("測試2"));map.put("測試2",3);System.out.println(map.get("測試2"));輸出結果是:23

⑦ Map介面都有哪些方法

void clear()
從此映射中移除所有映射關系(可選操作)。
boolean containsKey(Object key)
如果此映射包含指定鍵的映射關系,則返回 true。
boolean containsValue(Object value)
如果此映射為指定值映射一個或多個鍵,則返回 true。
Set<Map.Entry<K,V>> entrySet()
返回此映射中包含的映射關系的 set 視圖。
boolean equals(Object o)
比較指定的對象與此映射是否相等。
V get(Object key)
返回此映射中映射到指定鍵的值。
int hashCode()
返回此映射的哈希碼值。
boolean isEmpty()
如果此映射未包含鍵-值映射關系,則返回 true。
Set<K> keySet()
返回此映射中包含的鍵的 set 視圖。
V put(K key, V value)
將指定的值與此映射中的指定鍵相關聯(可選操作)。
void putAll(Map<? extends K,? extends V> t)
從指定映射中將所有映射關系復制到此映射中(可選操作)。
V remove(Object key)
如果存在此鍵的映射關系,則將其從映射中移除(可選操作)。
int size()
返回此映射中的鍵-值映射關系數。
Collection<V> values()
返回此映射中包含的值的 collection 視圖。

打開API查看就都知道了

⑧ java中幾種Map在什麼情況下使用

HashMap 散列表 插入和查詢的開銷是固定的; 可以通過構造方法設置容量和負載因子,調整性能默認選擇
LinkedHashMap 鏈表
取得元素的順序是其插入次序,或者最近最少使用次序;插入時比HashMap略慢,但迭代時更快
TreeMap 紅黑樹 總是保證有序; 可以通過subMap()方法返回一個子樹
WeakHashMap 弱鍵映射,允許釋放映射所指向的對象
ConcurrentHashMap 線程安全,不涉及同步加鎖
IdentityHashMap 用 == 代替 equals() 進行比較; 插入操作不會隨著Map尺寸變大而明顯變慢

閱讀全文

與Map常用的方法相關的資料

熱點內容
台秤及分析天平使用方法 瀏覽:5
有什麼方法把軟體轉移到內存卡上 瀏覽:607
菠蘿頭子的種植方法 瀏覽:977
語文中的論述方法有哪些 瀏覽:382
喔刷的使用方法圖解 瀏覽:351
思密達如何服用方法 瀏覽:131
檢測駕駛能力的方法 瀏覽:956
蘋果手機微信手勢密碼設置在哪裡設置方法 瀏覽:361
怎麼懷孕快的方法照片 瀏覽:572
督灸貼使用方法圖片 瀏覽:15
水晶頭兩件安裝方法 瀏覽:239
鑒別好壞毛筆的方法 瀏覽:174
便秘肛裂的治療方法 瀏覽:142
外圈軸承取出方法視頻 瀏覽:968
精密度的表示方法通常用 瀏覽:760
社會調查研究方法第二章 瀏覽:91
海蟹黃咸鴨蛋黃的食用方法 瀏覽:601
小孩胯骨滑膜炎的最佳按摩方法 瀏覽:646
三噸電子磅的正確校正方法 瀏覽:906
蔓薇西梅使用方法 瀏覽:229