Интерфейс Map.Entry
Интерфейс Map.Entry в Java позволяет работать с записями Map.
Метод entrySet(), объявленный интерфейсом Map, возвращает Set, содержащий записи Map. Каждый из этих элементов является объектом Map.Entry.
В следующей таблице приведены методы, объявленные этим интерфейсом:
Методы
№ Методы и описание
1 boolean equals(Object obj)
Возвращает true, если obj - это Map.Entry, чей ключ и значение равны значению вызывающего объекта.
2 Object getKey( )
Возвращает ключ для этой записи в Map.
3 Object getValue( )
Возвращает значение для этой записи в Map.
4 int hashCode( )
Возвращает хэш-код для этой записи в Map.
5 Object 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