Метод put класса LinkedHashMap
Метод put класса LinkedHashMap добавляет новую пару ключ-значение в отображение. Первым параметром метод принимает ключ, вторым - значение, которое нужно связать с этим ключом. Если указанный ключ уже присутствует в отображении, старое значение заменяется новым. Метод возвращает предыдущее значение, связанное с ключом, или null, если ключ отсутствовал. Особенность LinkedHashMap в том, что он сохраняет порядок добавления элементов, поэтому новая пара добавляется в конец, а при обновлении существующего ключа его позиция в порядке обхода не меняется.
Синтаксис
map.put(key, value)
Пример
Давайте создадим LinkedHashMap и добавим в него несколько пар ключ-значение:
import java.util.LinkedHashMap;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
System.out.println(map);
}
}
Результат выполнения кода:
{a=1, b=2, c=3}
Пример
Давайте обновим значение для уже существующего ключа и посмотрим, что вернёт метод:
import java.util.LinkedHashMap;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
Integer oldValue = map.put("a", 100);
System.out.println("Old value: " + oldValue);
System.out.println("Map: " + map);
}
}
Результат выполнения кода:
Old value: 1
Map: {a=100, b=2}
Пример
Давайте проверим, что вернёт метод при добавлении нового ключа, которого ещё нет в отображении:
import java.util.LinkedHashMap;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
Integer res = map.put("b", 2);
System.out.println("Returned: " + res);
System.out.println("Map: " + map);
}
}
Результат выполнения кода:
Returned: null
Map: {a=1, b=2}
Пример
Давайте убедимся, что LinkedHashMap сохраняет порядок добавления и не меняет его при обновлении существующего ключа:
import java.util.LinkedHashMap;
public class Main
{
public static void main(String[] args)
{
LinkedHashMap<String, Integer> map = new LinkedHashMap<>();
map.put("a", 1);
map.put("b", 2);
map.put("c", 3);
map.put("a", 100);
System.out.println(map);
}
}
Результат выполнения кода:
{a=100, b=2, c=3}
Смотрите также
-
класс
LinkedHashMap,
который хранит порядок добавления элементов -
метод
get,
который возвращает значение по ключу -
метод
putIfAbsent,
который добавляет значение только при отсутствии ключа -
метод
remove,
который удаляет пару по ключу