位置:首頁 > Java技術 > Java教學 > Java Map.Entry接口

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