Middle
Que métodos adicionais para trabalhar com arrays associativos (coleção Map) surgiram no Java 8?
sobes.tech IA
Resposta da IA
forEach(BiConsumer<? super K, ? super V> action): Executa a ação especificada para cada par chave-valor no Map.replaceAll(BiFunction<? super K, ? super V, ? extends V> function): Substitui cada valor no Map pelo resultado da aplicação da função à sua chave e valor atual.compute(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Tenta calcular um mapeamento para a chave especificada, usando a função de re-mapeamento dada.computeIfAbsent(K key, Function<? super K, ? extends V> mappingFunction): Se a chave especificada ainda não estiver associada a um valor (ou estiver associada anull), tenta calcular seu valor usando a função de mapeamento dada e a insere no Map se não fornull.computeIfPresent(K key, BiFunction<? super K, ? super V, ? extends V> remappingFunction): Se a chave especificada já estiver associada a um valor (nãonull), tenta calcular uma nova atribuição usando a função de re-mapeamento dada.merge(K key, V value, BiFunction<? super V, ? super V, ? extends V> remappingFunction): Se a chave especificada ainda não estiver associada a um valor, associa-a ao valor não-nulldado. Caso contrário, substitui o valor associado pelo resultado de aplicar a função de re-mapeamento ao valor atual e ao valor dado.putIfAbsent(K key, V value): Se a chave especificada ainda não estiver associada a um valor (ou estiver associada anull), associa-a ao valor dado e retornanull, caso contrário retorna o valor associado atual.remove(Object key, Object value): Remove a entrada para a chave especificada apenas se ela estiver atualmente associada ao valor especificado.replace(K key, V oldValue, V newValue): Substitui a entrada para a chave especificada apenas se ela estiver atualmente associada ao valoroldValue.replace(K key, V value): Substitui a entrada para a chave especificada apenas se ela estiver atualmente associada a um valor.
Estes métodos facilitam o trabalho com Map, permitindo realizar operações atômicas e usar expressões lambda para um processamento mais flexível dos elementos.