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

Класс LinkedHashMap хранит элементы типа “ключ – значение” в том порядке, в котором они были добавлены. Это означает, что когда мы захотим вывести содержимое структуры данных мы получим их не упорядоченными по возрастанию, а в порядке добавления.

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

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

Пример:

Класс LinkedHashMapDemo


import java.util.LinkedHashMap;
import java.util.Map;
import java.util.Set;

public class LinkedHashMapDemo {
    public static void main(String[] args) {
        LinkedHashMap linkedHashMap =
                new LinkedHashMap<>();

        System.out.println("Adding elements into linkedHashMap...");
        linkedHashMap.put(3, "Proselyte");
        linkedHashMap.put(2, "AsyaSmile");
        linkedHashMap.put(5, "Konstantin");
        linkedHashMap.put(1, "Ivan");
        linkedHashMap.put(4, "Peter");

        System.out.println("LinkedHashMap initial content:");
        Set set = linkedHashMap.entrySet();

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

        System.out.println("\n========================\n");

        System.out.println("Modifying Proselyte...");
        String name = linkedHashMap.get(3);
        name += " Changed";
        linkedHashMap.put(3, name);

        System.out.println("LinkedHashMap final content:");
        set = linkedHashMap.entrySet();

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

        System.out.println("\n========================\n");

    }
}

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


/*Some System Elements*/

Adding elements into linkedHashMap...
LinkedHashMap initial content:
ID: 3, Name: Proselyte
ID: 2, Name: AsyaSmile
ID: 5, Name: Konstantin
ID: 1, Name: Ivan
ID: 4, Name: Peter

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

Modifying Proselyte...
LinkedHashMap final content:
ID: 3, Name: Proselyte Changed
ID: 2, Name: AsyaSmile
ID: 5, Name: Konstantin
ID: 1, Name: Ivan
ID: 4, Name: Peter

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

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