Руководство по Java Core. Коллекции. HashMap.

Класс HashMap имплементирует интерфейс Map и использует хэш-таблицу. Обеспечивает постоянное время для записи и доступа к элементам.

С конструкторами и методами этого класса вы можете ознакомиться в официальной документации.

Для понимания того, как это работает на практике, рассмотрим пример простого приложения.

Пример:

Класс HashMapDemo


import java.util.HashMap;
import java.util.Map;
import java.util.Set;

public class HashMapDemo {
    public static void main(String[] args) {
        HashMap hashMap = new HashMap<>();

        System.out.println("Adding elements into hashMap...");
        hashMap.put("Proselyte","Java");
        hashMap.put("AsyaSmile","UI/UX");
        hashMap.put("Peter","C++");
        hashMap.put("Ann","PHP");

        System.out.println("Initial hashMap:");
        System.out.println(hashMap);

        System.out.println("\n===================\n");
        System.out.println("Initial hashMap content using Set:");
        Set set = hashMap.entrySet();

        for (Object element : set) {
            Map.Entry mapEntry = (Map.Entry) element;
            System.out.println(mapEntry.getKey() + ":" + mapEntry.getValue());
        }
        System.out.println("\n===================\n");

        System.out.println("Modifying Proselyte's specialty...");
        String specialty = hashMap.get("Proselyte");
        specialty += " Developer (Changed)";
        hashMap.put("Proselyte", specialty);

        System.out.println("\n===================\n");
        System.out.println("Final hashMap content using Set:");
        set = hashMap.entrySet();

        for (Object element : set) {
            Map.Entry mapEntry = (Map.Entry) element;
            System.out.println(mapEntry.getKey() + ":" + mapEntry.getValue());
        }
        System.out.println("\n===================\n");
    }
}

В результате работы программы м ыполучим следующий результат:


/*Some System Messages*/

Adding elements into hashMap...
Initial hashMap:
{Ann=PHP, Proselyte=Java, AsyaSmile=UI/UX, Peter=C++}

===================

Initial hashMap content using Set:
Ann:PHP
Proselyte:Java
AsyaSmile:UI/UX
Peter:C++

===================

Modifying Proselyte's specialty...

===================

Final hashMap content using Set:
Ann:PHP
Proselyte:Java Developer (Changed)
AsyaSmile:UI/UX
Peter:C++

===================

В этом разделе мы изучили основы класса HashMap и рассмотрели пример простого приложения с его использованием.