Java — Самоучитель

  • 15. Java — Массивы
  • 16. Java — Дата и время
  • 17. Java — Регулярные выражения
  • 18. Java — Методы
  • 21. Java — Вложенные и внутренние классы
  • 22. Java — Наследование
  • 23. Java — Переопределение
  • 24. Java — Полиморфизм
  • 25. Java — Абстракция
  • 26. Java — Инкапсуляция
  • 27. Java — Интерфейсы
  • 28. Java — Пакеты
  • 31. Java — Дженерики
  • 32. Java — Сериализация
  • 30.15. Java – Класс HashMap

    Класс HashMap в Java использует хэш-таблицу для реализации интерфейса Map. Это позволяет времени для выполнения основных операций, таких как get () и put (), оставаться постоянным даже для больших множеств.

    Содержание

    [скрыть]

    Конструкторы

    Ниже приведен список конструкторов, поддерживаемых классом HashMap.

    Конструктор и описание
    1HashMap( )
    Этот конструктор создает стандартный HashMap по умолчанию.
    2HashMap(Map m)
    Этот конструктор инициализирует хэш-карту, используя элементы Map данного объекта m.
    3HashMap(int capacity)
    Этот конструктор инициализирует емкость хэш-карты для заданного целочисленного значения, capacity.
    4HashMap(int capacity, float fillRatio)
    Этот конструктор инициализирует как ёмкость, так и коэффициент заполнения хэш-карты, используя ее аргументы.

    Методы

    Помимо методов, унаследованных от родительских классов, HashMap определяет следующие методы:

    Методы и описание
    1void clear()
    Удаляет все соответствия с этого Map.
    2Object clone()
    Возвращает мелкую копию этого экземпляра HashMap: сами ключи и значения не клонируются.
    3boolean containsKey(Object key)
    Возвращает true, если этот Map содержит отображение для указанного ключа.
    4boolean containsValue(Object value)
    Возвращает true, если этот Map отображает одну или несколько клавиш в указанное значение.
    5Set entrySet()
    Возвращает представление (вид) коллекции отображений, содержащихся в этом Map.
    6Object get(Object key)
    Возвращает значение, для которого указанный ключ отображается в этой хэш-карте идентификатора, или null (нуль), если Map не содержит отображения для этого ключа.
    7boolean isEmpty()
    Возвращает true, если этот Map не содержит отображений значений ключа.
    8Set keySet()
    Возвращает заданное представление (вид) ключей, содержащихся на этом Map.
    9Object put(Object key, Object value)
    Связывает указанное значение с указанным ключом на этом Map.
    10putAll(Map m)
    Копирует все отображения с указанного Map на этот Map. Эти отображения заменят любые отображения, которые это отображение имело для любого из ключей, находящихся в настоящее время на указанном Map.
    11Object remove(Object key)
    Удаляет отображение для этого ключа с этого Map, если присутствует.
    12int size()
    Возвращает количество ключ-значение отображений на этом Map.
    13Collection values()
    Возвращает представление (вид) коллекции значений, содержащихся на этой карте.

    Пример

    Следующая программа демонстрирует работу нескольких методов, поддерживаемых HashMap в Java:

    import java.util.*;
    public class HashMapDemo {
    
       public static void main(String args[]) {
       
          // Создаём хэш-карту
          HashMap hm = new HashMap();
          
          // Помещаем элементы в карту
          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
    
    Поделитесь:

    О сайте

    Все материалы сайта proglang.su являются результатом труда его авторов. Копирование материалов в некоммерческих целях без указания источника в виде прямой ссылки на сайт proglang.su запрещено. Использование материалов в коммерческих целях разрешено только с письменного согласия автора. Нарушение авторских прав преследуется по закону. Мы это делаем, чтобы защитить плоды своих трудов от воровства. © 2014-2019

    Присоединяйтесь


    Обратная связь