Java中的Map.Entry接口提供了某些方法來訪問Map中的條目。通過訪問Map的條目,我們可以輕鬆地操縱它們。 Map.Entry 是一個泛型,在 java.util 包中定義。
聲明:
Interface Map.Entry k -> Key V -> Value
方法:
- 等於(對象 o)- 它將對象(調用對象)與對象 o 進行比較以確定是否相等。
Syntax :boolean equals(Object o) Parameters : o -> Object to which we want to compare 返回: true: if both objects are equals false: otherwise
- KgetKey()- 返回相應Map條目的鍵。
Syntax :K getKey() Parameters : ------------- 返回: K -> Returns the corresponding Key of a entry on which it is invoked
例外 -
- IllegalStateException當條目已從Map中刪除時拋出。
- V getValue()- 返回相應映射條目的值。
Syntax :V getValue() Parameters : ------------- 返回: V -> Returns the corresponding value of a entry on which it is invoked
- int hashcode()- 返回相應映射條目的哈希碼。
Syntax :int hashcode() Parameters : ------------- 返回: int -> Returns the hash-code of entry on which it is invoked
- V設定值(V v)- 設置指定值v的map的值
V setValue(V v) Parameters : v -> Value which was earlier stored in the entry on which it is invoked 返回: int -> Returns the hash-code of a entry on which it is invoked
異常:
- ClassCastException如果值 ‘v’ 的類不是正確的映射類型,則會拋出該異常。
- NullPointerException如果‘null’存儲在‘v’中,並且map不支持‘null’,則會拋出該錯誤。
- UnsupportedOperationException如果我們無法操作Map或者Map不支持 put 操作,則會拋出該異常。
- IllegalArgumetException如果參數有問題,即 v
- IllegalStateException當條目已從Map中刪除時拋出
設置<Map.Entry> entrySet() -返回整個Map的集合視圖。
注意:這不是 Map.entry 接口的方法,但在這裏討論它是因為該方法在使用 Map.Entry 接口時很有用。
Set<Map.Entry> entrySet() Parameters : --------------- 返回: Set<Map.Entry> ->: Returns a Set containing the Map.Entry values
下麵的程序演示了 Map.Entry 的工作原理:
// Java Program to demonstrate the
// methods of Map.Entry
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;
public class GFG
{
public static void main(String[] args)
{
// Create a LinkedHashMap
LinkedHashMap<String,Integer> m =
new LinkedHashMap<String, Integer>();
m.put("1 - Bedroom" , 25000);
m.put("2 - Bedroom" , 50000);
m.put("3 - Bedroom" , 75000);
m.put("1 - Bedroom - hall", 65000);
m.put("2 - Bedroom - hall", 85000);
m.put("3 - Bedroom - hall", 105000);
// Using entrySet() to get the entry's of the map
Set<Map.Entry<String,Integer>> s = m.entrySet();
for (Map.Entry<String, Integer> it: s)
{
// Using the getKey to get key of the it element
// Using the getValue to get value of the it element
System.out.println("Before change of value = " +
it.getKey() + " " + it.getValue());
// Changing the value of 1 - Bedroom.
double getRandom = Math.random() * 100000;
int getRoundoff = (int) Math.round(getRandom);
// Using setValue to change the value of the
// map element
it.setValue(getRoundoff);
System.out.println("After change of value = " +
it.getKey() + " " + it.getValue());
}
}
}
輸出:
Before change of value = 1 - Bedroom 25000 After change of value = 1 - Bedroom 59475 Before change of value = 2 - Bedroom 50000 After change of value = 2 - Bedroom 51650 Before change of value = 3 - Bedroom 75000 After change of value = 3 - Bedroom 95200 Before change of value = 1 - Bedroom - hall 65000 After change of value = 1 - Bedroom - hall 74112 Before change of value = 2 - Bedroom - hall 85000 After change of value = 2 - Bedroom - hall 41490 Before change of value = 3 - Bedroom - hall 105000 After change of value = 3 - Bedroom - hall 10902
相關用法
- Java Map clear()用法及代碼示例
- Java Map containsKey()用法及代碼示例
- Java Map containsValue()用法及代碼示例
- Java Map entrySet()用法及代碼示例
- Java Map equals()用法及代碼示例
- Java Map get()用法及代碼示例
- Java Map hashCode()用法及代碼示例
- Java Map isEmpty()用法及代碼示例
- Java Map keySet()用法及代碼示例
- Java Map put()用法及代碼示例
- Java Map putAll()用法及代碼示例
- Java Map remove()用法及代碼示例
- Java Map Values()用法及代碼示例
- Java Map size()用法及代碼示例
- Java Map轉Stream用法及代碼示例
- Java Map用法及代碼示例
- Java Math abs()用法及代碼示例
- Java Math acos()用法及代碼示例
- Java Math addExact()用法及代碼示例
- Java Math asin()用法及代碼示例
- Java Math atan()用法及代碼示例
- Java Math cos()用法及代碼示例
- Java Math sin()用法及代碼示例
- Java Math tan()用法及代碼示例
- Java Math sinh()用法及代碼示例
注:本文由純淨天空篩選整理自佚名大神的英文原創作品 Map.Entry interface in Java with example。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。