forEach(BiConsumer<? super K, ? super V> action): Выполняет заданное action для каждой пары ключ-значение в Map.replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Заменяет каждое значение в Map результатом применения function к его ключу и текущему значению.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Пытается вычислить мэппинг для указанного ключа, используя заданную функцию повторного мэппинга.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Если указанный ключ еще не связан со значением (или связан с null), пытается вычислить его значение с помощью заданной функции мэппинга и ввести его в Map, если оно не равно null.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Если указанный ключ уже связан со значением (не null), пытается вычислить новое отображение, используя заданную функцию повторного мэппинга.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): Если указанный ключ еще не связан со значением, связывает его с заданным не-null значением. В противном случае, заменяет связанное значение результатом применения заданной функции повторного мэппинга к текущему значению и заданному значению.putIfAbsent(K key, V value): Если указанный ключ еще не связан со значением (или связан с null), связывает его с заданным значением и возвращает null, в противном случае возвращает текущее связанное значение.remove(Object key, Object value): Удаляет запись для указанного ключа, только если она в настоящее время связана с указанным значением.replace(K key, V oldValue, V newValue): Заменяет запись для указанного ключа, только если она в настоящее время связана со значением oldValue.replace(K key, V value): Заменяет запись для указанного ключа, только если она в настоящее время связана со значением.Эти методы облегчают работу с Map, позволяя выполнять атомарные операции и использовать лямбда-выражения для более гибкой обработки элементов.