教程 > Java 教程 > Java 高级 阅读:17

Java Map.Entry 接口

返回 Java 集合框架


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

返回 Java 集合框架

查看笔记

扫码一下
查看教程更方便