Map.Entry
接口定义了如何使用映射条目。
Map
接口声明的entrySet()
方法返回包含映射条目的Set
。这些set
元素中的每一个都是Map.Entry
对象。
下表是此接口声明的方法 -
编号 | 方法 | 描述 |
---|---|---|
1 | boolean equals(Object obj) |
如果obj 是一个Map.Entry ,其键和值等于调用对象的值,则返回true 。 |
2 | Object getKey() |
返回此映射条目的键。 |
3 | Object getValue() |
返回此映射条目的值。 |
4 | int hashCode() |
返回此映射条目的哈希码。 |
5 | Object setValue(Object v) |
将此映射条目的值设置为v 。如果v 不是映射的正确类型,则抛出ClassCastException 。如果v 为null 并且映射不允许空键,则抛出NullPointerException 异常。如果无法更改映射,则抛出UnsupportedOperationException 异常。 |
示例
以下是一个演示如何使用Map.Entry
接口的示例 -
import java.util.*;
/* 文件 : HashMapDemo.java */
public class HashMapDemo {
public static void main(String args[]) {
// 创建一个 HashMap
HashMap hm = new HashMap();
// Put elements to the map
hm.put("Maxsu", new Double(134.13));
hm.put("Yiibai", new Double(123.34));
hm.put("Kaops", new Double(478.10));
hm.put("Java", new Double(299.02));
hm.put("PHP", new Double(-117.88));
// 获取集合项
Set set = hm.entrySet();
// 获取集合迭代器
Iterator i = set.iterator();
// 显示所有元素
while (i.hasNext()) {
Map.Entry me = (Map.Entry) i.next();
System.out.print(me.getKey() + ": ");
System.out.println(me.getValue());
}
System.out.println();
// 添加指定用户的积分
double balance = ((Double) hm.get("Maxsu")).doubleValue();
hm.put("Maxsu", new Double(balance + 1000));
System.out.println("Maxsu最新积分: " + hm.get("Maxsu"));
}
}
执行上面示例代码,得到以下结果 -
Java: 299.02
Kaops: 478.1
Yiibai: 123.34
PHP: -117.88
Maxsu: 134.13
Maxsu最新积分: 1134.13