扫码一下
查看教程更方便
Map.Entry 接口使我们能够使用 Map 元素。
Map 接口声明的 entrySet() 方法返回一个包含 Map 元素的 Set。 这些集合元素中的每一个都是一个 Map.Entry 对象。
下表总结了该接口声明的方法
序号 | 方法 | 描述 |
---|---|---|
1 | boolean equals(Object obj) | 如果 obj 是一个 Map.Entry,其键和值等于调用对象的键和值,则返回 true。 |
2 | Object getKey( ) | 返回 Map 元素的键。 |
3 | Object getValue( ) | 返回 Map 元素的值。 |
4 | int hashCode( ) | 返回 Map 元素的哈希码。 |
5 | Object setValue(Object v) | 将 Map 元素的值设置为 v。如果 v 不是 Map 的正确类型,则会引发 ClassCastException。 如果 v 为 null 并且 Map 不允许 null 键,则会引发 NullPointerException。 如果无法更改 Map,则会引发 UnsupportedOperationException。 |
下面是一个展示如何使用 Map.Entry 的示例
import java.util.*; public class HashMapDemo { public static void main(String args[]) { HashMap hm = new HashMap(); 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)); // 获取一系列数据集合 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("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