Интерфейс Map.Entry в Java позволяет работать с записями Map.

Метод entrySet(), объявленный интерфейсом Map, возвращает Set, содержащий записи Map. Каждый из этих элементов является объектом Map.Entry.

В следующей таблице приведены методы, объявленные этим интерфейсом:

Методы

Методы и описание
1boolean equals(Object obj)
Возвращает true, если obj - это Map.Entry, чей ключ и значение равны значению вызывающего объекта.
2Object getKey( )
Возвращает ключ для этой записи в Map.
3Object getValue( )
Возвращает значение для этой записи в Map.
4int hashCode( )
Возвращает хэш-код для этой записи в Map.
5Object setValue(Object v)
Устанавливает значение v для этой записи Map. Вызывается ClassCastException, если v не является правильным типом для Map. A Исключение NullPointerException выдается, если v является нулём, а Map не разрешает нулевые ключи. Исключение UnsupportedOperationException возникает, если карта не может быть изменена.

Пример

Ниже приведен пример, показывающий, как можно использовать Map.Entry:

import java.util.*;
public class HashMapDemo {

   public static void main(String args[]) {
      // Создаём хэш-карту
      HashMap hm = new HashMap();

      // Кладём элементы в Map
      hm.put("Зоя", new Double(3434.34));
      hm.put("Марк", new Double(123.22));
      hm.put("Аня", new Double(1378.00));
      hm.put("Маргарита", new Double(99.22));
      hm.put("Михаил", 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();
     
      // Вносим 1000 на счёт Зои
      double balance = ((Double)hm.get("Зоя")).doubleValue();
      hm.put("Зоя", new Double(balance + 1000));
      System.out.println("Новый баланс Зои: " + hm.get("Зоя"));
   }
}

Получим следующий результат:

Маргарита: 99.22
Аня: 1378.0
Зоя: 3434.34
Михаил: -19.08
Марк: 123.22

Новый баланс Зои: 4434.34

Оглавление