Java HashMap putIfAbsent ()

O método Java HashMap putIfAbsent () insere o mapeamento de chave / valor especificado no hashmap se a chave especificada já não estiver presente no hashmap.

A sintaxe do putIfAbsent()método é:

 hashmap.putIfAbsent(K key, V value)

Aqui, hashmap é um objeto da HashMapclasse.

Parâmetros putIfAbsent ()

O putIfAbsent()método leva dois parâmetros.

  • chave - o valor especificado está associado a esta chave
  • valor - a chave especificada é mapeada com este valor

Valor de retorno putAbsent ()

  • retorna o valor associado à chave, se a chave especificada já estiver presente no hashmap
  • retorna nulo, se a chave especificada já não estiver presente no hashmap

Nota : Se a chave especificada estiver anteriormente associada a um valor nulo , o método também retornará null.

Exemplo 1: Java HashMap putIfAbsent ()

 import java.util.HashMap; class Main ( public static void main(String() args)( // create a HashMap HashMap languages = new HashMap(); // add mappings to HashMap languages.put(1, "Python"); languages.put(2, "C"); languages.put(3, "Java"); System.out.println("Languages: " + languages); // key already not present in HashMap languages.putIfAbsent(4, "JavaScript"); // key already present in HashMap languages.putIfAbsent(2, "Swift"); System.out.println("Updated Languages: " + languages); ) )

Resultado

 Linguagens: (1 = Python, 2 = C, 3 = Java) Linguagens atualizadas: (1 = Python, 2 = C, 3 = Java, 4 = JavaScript)

No exemplo acima, criamos um hashmap denominado linguagens. Observe a linha,

 languages.putIfAbsent(4, "JavaScript");

Aqui, a chave 4 ainda não está associada a nenhum valor. Portanto, o putifAbsent()método adiciona o mapeamento (4 = JavaScript) ao hashmap.

Observe a linha,

 languages.putIfAbsent(2, "Swift");

Aqui, a chave 2 já está associada ao valor Java. Portanto, o putIfAbsent()método não adiciona o mapeamento (2 = Swift) ao hashmap.

Nota : Usamos o put()método para adicionar um único mapeamento ao hashmap. Para saber mais, visite Java HashMap put ().

Artigos interessantes...