導航:首頁 > 編程語言 > java獲取map的value

java獲取map的value

發布時間:2023-05-19 06:25:44

Ⅰ 如何獲取map的key和value

標準的Map訪問方法如下:
Set keys = map.keySet( );

if(keys != null) {

Iterator iterator = keys.iterator( );

while(iterator.hasNext( )) {

Object key = iterator.next( );

Object value = map.get(key);

;....

;}

}

然後,這個方法有一個問題。從Map中取得關鍵字之後,我們必須每次重復返回到Map中取得相對的值,這是很繁瑣和費時的。

幸運的是,這里有一個更加簡單的途徑。Map類提供了一個稱為entrySet()的方法,這個方卜歲嫌法返回一個Map.Entry實例化後的對象集。
接著,Map.Entry類提供了一個getKey()方法和一個getValue()方法,因此,上面的代碼可以被組織得更符合邏輯。舉例如下:

Set entries = map.entrySet( );

if(entries != null) {

Iterator iterator = entries.iterator( );

while(iterator.hasNext( )) {

Map.Entry entry =iterator.next( );

Object key = entry.getKey( );

Object value = entry.getValue();

;....

}

}

盡管增加了一行代碼,我們卻省略了許多對Map不必要的逗get地調用。型手同時,提供給開發人員一個同時保持了關鍵字和其對應的值的類。Map.Entry同時也提供了一個setValue()方法,程序員可以使用它修改map裡面的值。

Hashtable內部排列的方式是散列排布,所以當輸出信息時雀做會是無序的。為了能保證輸出的數據按照順序排列,不要渴望用java自帶的函數來對

Hashtable對象進行調整處理。當我們獲取Hashtable里的KEY和VALUE時,一般都運行了Map.Entry類來轉換,好,現在就用這
個類來作文章,我具體寫了一個方法。

代碼:

/**
* 方法名稱:getSortedHashtable
* 參數:Hashtable h 引入被處理的散列表
* 描述:將引入的hashtable.entrySet進行排序,並返回
*/
public static Map.Entry[] getSortedHashtable(Hashtable h){

Set set = h.entrySet();

Map.Entry[] entries = (Map.Entry[])set.toArray(new Map.Entry[set.size()]);

Arrays.sort(entries,new Comparator(){

public int compare(Object arg0, Object arg1) {
Object key1 = ((Map.Entry)arg0).getKey();
Object key2 = ((Map.Entry)arg1).getKey();
return ((Comparable)key1).compareTo(key2);
}

});

return entries;
}

調用這個方法:

Map.Entry[] set = getSortedHashtable(t);

//perportyTable
for (int i=0;i<set.length;i++){

System.out.println(set[i].getKey().toString());

System.out.println(set[i].getValue().toString());

}

Ⅱ Java中怎麼遍歷map中value值

Map有個values()方法

publicstaticvoidmain(String[]args){
Mapmap=newHashMap();//定義Map集合對象
map.put("apple","新鮮的蘋果");//向集合中添加對象
map.put("computer","戚茄配置優良的計算機");
吵森map.put("book","堆積成山的圖書");
Collectionvalues=map.values();//獲取Map集升仔畝合的value集合
for(Objectobject:values){
System.out.println("鍵值:"+object.toString());//輸出鍵值對象
}
}

Ⅲ java map中怎麼通過鍵取出值

在java map中取出鍵值有以下兩種方法:

1.第一種方法根據鍵值的名字取值

import java.util.HashMap;

import java.util.Ma

ublic class Test {

public static void main(String[] args)嘩灶

{ // TODO Auto-generated method stub

Map<String, Object> map=new HashMap<String, Object>();

map.put("id", "sunny");

map.put("value", "syl");

System.out.println(map.get("id"))

System.out.println(map.get("value")); }

2.第二種方法:遍歷

import java.util.HashMap;

import java.util.Map;

import java.util.Set

ublic class Test {

public static void main(String[] args)

{

Map<String, Object> map=new HashMap<String, Object>();

map.put("id", "sunny");

map.put("value", "syl");

Set<String> get = map.keySet(); 芹衫

for (String test:get)

{ 嫌蘆腔

System.out.println(test+","+map.get(test));

} }

Ⅳ java 怎麼取map的value值

用key來提取:map.get(key) 返回的就是key對應的value

Ⅳ java怎麼同時得到map的key和value值

Map是成對放的,一放一對。。分成KEY和VALUE
Map分為HashMap或Hashtable、LinkedHashMap和TreeMap幾個,
其中HashMap是新版的,線程不安全的,Hashtable是線程安全的。
Map是一種把鍵對象和值對象進行關聯的容器,而一個值對象又可以是一個Map,依次類推,這樣就可形成一個多級映射。對於鍵對象來說,像Set一樣,一個Map容器中的鍵對象不允許重復,這是為了保持查找結果的一致性;如果有兩個鍵對象一樣,那你想得到那個鍵對象所對應的值對象時就有問題了,可能你得到的並不是你想的那個值對象,結果會造成混亂,所以鍵的唯一性很重要,也是符合冊和弊集合的性質的。當然在使用過程中,某個鍵所對應的值對象可能會發生變化,這時會按照最後一次修改的值對象與鍵對應。對於值對象則沒有唯一性的要求。你可以將任意多個鍵都映射到一個值對象上,這不會發生任何問題(不過對你的使用卻可能會造成不便,你不知道你得到的到底是那一個鍵所對應的值對象)。Map有兩種比較常用的實現:HashMap和TreeMap。HashMap也用州族到了哈希碼的演算法,以便快速查找一個鍵,TreeMap則是對鍵按序存放,因此它便有一些擴展的方法,比如firstKey(),lastKey()等,你還可以從TreeMap中指定一個范圍以取得棚神其子Map。鍵和值的關聯很簡單,用put(Object
key,Object
value)方法即可將一個鍵與一個值對象相關聯。用get(Object
key)可得到與此key對象所對應的值對象。
import
java.util.*;
class
HashMapDemo
{
public
static
void
main(String
args[])
{
//
Create
a
hash
map
HashMap
hm
=
new
HashMap();
//
Put
elements
to
the
map
hm.put("John
Doe",
new
Double(3434.34));
hm.put("Tom
Smith",
new
Double(123.22));
hm.put("Jane
Baker",
new
Double(1378.00));
hm.put("Todd
Hall",
new
Double(99.22));
hm.put("Ralph
Smith",
new
Double(-19.08));
//
Get
a
set
of
the
entries
Set
set
=
hm.entrySet();
//
Get
an
iterator
Iterator
i
=
set.iterator();
//
Display
elements
while(i.hasNext())
{
Map.Entry
me
=
(Map.Entry)i.next();
System.out.print(me.getKey()
+
":
");
System.out.println(me.getValue());
}
}
由Map.Entry定義的getKey(
)和getValue(
)方法而顯示。程序開始創建一個散列映射,然後將名字的映射增加到平衡表中。接下來,映射的內容通過使用由調用函數entrySet(
)而獲得的集合「視圖」而顯示出來。關鍵字和值通過調用

Ⅵ 如何通過獲取map中的key來獲得與key對應的value值,進行運算

獲取map的key和value的方法分為以下兩種形式:

1、map.keySet():先獲取map的key,然後根據key獲取對應的value;

2、map.entrySet():同時查詢map的key和value,只需要查詢一次;

注意:當map的value值相等時,根據key值進行排序

很多人都推薦使用entrySet,認為其比keySet的效率高很多。理由是:entrySet方法一次拿到所有key和value的集合;而keySet拿到的只是key的集合,針對每個key,都要去Map中額外查找一次value,從而降低了總體效率。

兩種方法對比測試如下:

HashMap測試數據:

(6)java獲取map的value擴展閱讀:

map.keySet()和map.EntrySet()的比較:

一、如果使用HashMap

1、同時遍歷key和value時,keySet與entrySet方法的性能差異取決於key的具體情況,如復雜度(復雜對象)、離散度、沖突率等。換言之,取決於HashMap查找value的開銷。

entrySet一次性取出所有key和value的操作是有性能開銷的,當這個損失小於HashMap查找value的開銷時,entrySet的性能優勢就會體現出來。

在比測試中,當key是最簡單的數值字元串時,keySet可能反而會更高效,耗時比entrySet少10%。總體來說還是推薦使用entrySet。

因為當key很簡單時,其性能或許會略低於keySet,但卻是可控的;而隨著key的復雜化,entrySet的優勢將會明顯體現出來。當然,我們可以根據實際情況進行選擇

2、只遍歷key時,keySet方法更為合適,因為entrySet將無用的value也給取出來了,浪費了性能和空間。在上述測試結果中,keySet比entrySet方法耗時少23%。

3、只遍歷value時,使用vlaues方法是最佳選擇,entrySet會略好於keySet方法。

二、如果使用TreeMap

1、同時遍歷key和value時,與HashMap不同,entrySet的性能遠遠高於keySet。這是由TreeMap的查詢效率決定的,也就是說,TreeMap查找value的開銷較大,明顯高於entrySet一次性取出所有key和value的開銷。因此,遍歷TreeMap時強烈推薦使用entrySet方法。

2、只遍歷key時,keySet方法更為合適,因為entrySet將無用的value也給取出來了,浪費了性能和空間。在上述測試結果中,keySet比entrySet方法耗時少24%。

3、只遍歷value時,使用vlaues方法是最佳選擇,entrySet也明顯優於keySet方法。

網路——Map

Ⅶ java怎樣獲取map所有的value值

方式有兩種 :
1、遍歷map.keySet()
2、遍歷map.EntrySet()

Ⅷ java Map 根據Map的值(value)取鍵(key)

java根據Map的值(value)取鍵(key) 的實現方法有4種,分別為:

(1)使用for循環遍歷

(2)使用Iterator迭代器

(3)使用KeySet迭代

(4)使用EnterySet迭代

下面為以上4種方法具體實現的代碼:

1、使用for循環遍歷

public static Object getKey(HashMap<Object,Object> map, String v) {

String key = "";

for (Map.Entry<String, Object> m :map.entrySet()) {

if (m.getValue().equals(v)) {

key = m.getKey();

}}

return key;

}

Ⅸ Java中怎麼遍歷map中value值

Java中遍歷Map對象的4種方法:

1、通過Map.entrySet遍歷key和value,在for-each循環中使用entries來遍歷.推薦,尤其是容量大時。

(9)java獲取map的value擴展閱讀:

關於JAVA的遍歷知識補充:

1、list和set集合都實現了Iterable介面,所以他們的實現類可以使用迭代器遍歷,map集合未實現該介面,若要使用迭代器循環遍歷,需要藉助set集合。

2、使用EntrySet 遍歷,效率更高。

Ⅹ java中如何通過Map的key獲得它的value

Map<String,String> maps = new HashMap<String,String>();
//信悶獲取key的集合滑鋒彎
Set<String> keySet = maps.keySet();
//遍歷基明key集合,獲取value
for(String key : keySet) {
String value = maps.get(key);
}

閱讀全文

與java獲取map的value相關的資料

熱點內容
pr怎麼壓縮文件大小 瀏覽:861
查看oracle字元集命令 瀏覽:177
鋰電池增加密度 瀏覽:659
linux用戶密碼忘記 瀏覽:240
gb壓縮天然氣 瀏覽:633
圖片拼接不壓縮app 瀏覽:668
我的世界如何編程 瀏覽:84
vue反編譯代碼有問題 瀏覽:948
linuxshell字元串連接字元串 瀏覽:51
androidviewpager刷新 瀏覽:438
python編程計算平均分 瀏覽:678
加密數字貨幣市值查詢 瀏覽:692
時尚商圈app怎麼樣 瀏覽:584
stacklesspython教程 瀏覽:138
用命令行禁用135埠 瀏覽:212
linux防火牆編程 瀏覽:627
pdf閱讀器刪除 瀏覽:979
考研人如何緩解壓力 瀏覽:822
買電暖壺哪個app便宜 瀏覽:505
洛克王國忘記伺服器了怎麼辦 瀏覽:782