Java中HashMap獲取值的幾種方式匯總
Java HashMap獲取值的方式
1、通過(guò)keySet()方法獲取key的集合,因?yàn)樵贖ashMap中key值不能重復(fù),所以返回的是一個(gè)Set()類(lèi)型。
2、通過(guò)entrySet()方法獲取鍵值對(duì)的集合,再通過(guò)getKey()和getValue()方法獲取key和value。
3、通過(guò)values()方法獲取value集合,因?yàn)関alue可以重復(fù),因此返回的類(lèi)型為Collection。
package com.example.demo; import java.util.Collection; import java.util.HashMap; import java.util.Map; import java.util.Set; public class Test { public static void main(String args[]) { HashMap<String, Integer> map = new HashMap<String, Integer>(); map.put("Kobe", 8); map.put("Jordan", 23); map.put("James", 6); map.put("Curry",30); map.put("Durant",35); //通過(guò)keySet()獲取key,再通過(guò)map.get(key)獲取value Set<String> set = map.keySet(); for(String str : set) { System.out.println(str + " " + map.get(str)); } System.out.println( "------------" ); //通過(guò)map.entrySet()獲得鍵值對(duì),性能較高 Set<Map.Entry<String, Integer>> en = map.entrySet(); for(Map.Entry<String, Integer> entry : en) { System.out.println(entry.getKey() + " " + entry.getValue()); } System.out.println( "------------" ); //通過(guò)values()取值 Collection<Integer> values = map.values(); for(Integer i : values) System.out.println(i); } }
Java HashMap基本用法
- HashMap 是一個(gè)散列表,它存儲(chǔ)的內(nèi)容是鍵值對(duì)(key-value)映射。
- HashMap 實(shí)現(xiàn)了 Map 接口,根據(jù)鍵的 HashCode 值存儲(chǔ)數(shù)據(jù),具有很快的訪問(wèn)速度,最多允許一條記錄的鍵為 null,不支持線程同步。
- HashMap 是無(wú)序的,即不會(huì)記錄插入的順序。
- HashMap 繼承于AbstractMap,實(shí)現(xiàn)了 Map、Cloneable、java.io.Serializable 接口。
?? ?// 創(chuàng)建 HashMap 對(duì)象 Sites ?? ?HashMap<Integer, String> Sites = new HashMap<Integer, String>(); ?? ? ?? ?// 添加鍵值對(duì) ?? ?Sites.put(1, "Google"); ?? ?Sites.put(2, "Runoob"); ?? ?System.out.println(Sites); // 輸出:{1=Google, 2=Runoob} ?? ? ?? ?// 我們可以使用 get(key) 方法來(lái)獲取 key 對(duì)應(yīng)的 value ?? ?System.out.println(Sites.get(2)); // 輸出:Runoob ?? ? ?? ?// 我們可以使用 remove(key) 方法來(lái)刪除 key 對(duì)應(yīng)的鍵值對(duì)(key-value) ?? ?Sites.remove(2); ?? ? ?? ?// 刪除所有鍵值對(duì)(key-value)可以使用 clear 方法 ?? ?Sites.clear(); ?? ? ?? ?// 計(jì)算 HashMap 中的元素?cái)?shù)量可以使用 size() 方法 ?? ?System.out.println(Sites.size());
迭代 HashMap
?? ?// 輸出 key 和 value ?? ?for (Integer i : Sites.keySet()) { ?? ?System.out.println("key: " + i + " value: " + Sites.get(i)); ?? ?} ?? ?// 返回所有 value 值 ?? ?for(String value: Sites.values()) { ?? ?// 輸出每一個(gè)value ?? ?System.out.print(value + ", "); ?? ?}
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
java設(shè)計(jì)模式之單例模式學(xué)習(xí)
單例對(duì)象(Singleton)是一種常用的設(shè)計(jì)模式。在Java應(yīng)用中,單例對(duì)象能保證在一個(gè)JVM中,該對(duì)象只有一個(gè)實(shí)例存在2014-01-01mybatis查詢語(yǔ)句揭秘之封裝數(shù)據(jù)
這篇文章主要給大家介紹了關(guān)于mybatis查詢語(yǔ)句揭秘之封裝數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用mybatis具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-04-04