Java Map.Entry接口
Map.Entry接口,可以用一个映射项工作。
由Map接口中声明的entrySet()方法返回一个包含映射条目的集。每个组元素都是一个Map.Entry对象。
下表总结了该接口声明的方法:
SN | 方法及描述 |
---|---|
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 Qadir: -19.08 Zara: 3434.34 Ayan: 1378.0 Mahnaz: 123.22 Zara's new balance: 4434.34