Java Map.Entry 接口
The Map.Entry接口使您能够使用地图条目进行操作。
由Map接口声明的 entrySet() 方法返回一个包含地图条目的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.*;
public class HashMapDemo {
public static void main(String args[]) {
// Create a hash map
HashMap hm = new HashMap();
// Put elements to the map
hm.put("Zara", new Double(3434.34));
hm.put("Mahnaz", new Double(123.22));
hm.put("Ayan", new Double(1378.00));
hm.put("Daisy", new Double(99.22));
hm.put("Qadir", 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());
}
System.out.println();
// Deposit 1000 into Zara's account
double balance = ((Double)hm.get("Zara")).doubleValue();
hm.put("Zara", new Double(balance + 1000));
System.out.println("Zara's new balance: " + hm.get("Zara"));
}
}
这将产生以下结果 −
输出
Daisy: 99.22
Ayan: 1378.0
Zara: 3434.34
Qadir: -19.08
Mahnaz: 123.22
Zara's new balance: 4434.34