Java - The Map.Entry Interface


Advertisements

The Map.Entry interface enables you to work with a map entry.

The entrySet( ) method declared by the Map interface returns a Set containing the map entries. Each of these set elements is a Map.Entry object.

Following table summarizes the methods declared by this interface:

SN Methods with Description
1 boolean equals(Object obj)

Returns true if obj is a Map.Entry whose key and value are equal to that of the invoking object.

2 Object getKey( )

Returns the key for this map entry.

3 Object getValue( )

Returns the value for this map entry.

4 int hashCode( )

Returns the hash code for this map entry.

5 Object setValue(Object v)

Sets the value for this map entry to v. A ClassCastException is thrown if v is not the correct type for the map. A NullPointerException is thrown if v is null and the map does not permit null keys. An UnsupportedOperationException is thrown if the map cannot be changed.

Example:

Following is the example showing how Map.Entry can be used:

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"));
   }
}

This would produce the following result:

Daisy 99.22
Qadir: -19.08
Zara: 3434.34
Ayan: 1378.0
Mahnaz: 123.22
Zara's new balance: 4434.34

java_collections.htm

Advertisements