Substituir Java HashMap ()

O método replace () do Java HashMap substitui o mapeamento da chave especificada pelo novo valor especificado em um hashmap.

A sintaxe do replace()método é:

 hashmap.replace(K key, V oldValue, V newValue)

Aqui, hashmap é um objeto da HashMapclasse.

Parâmetros replace ()

O replace()método pode ter 3 parâmetros.

  • chave - chave cujo mapeamento deve ser substituído
  • oldValue (opcional) - valor a ser substituído no mapeamento
  • newValue - oldValue é substituído por este valor

substituir () Valores de retorno

O replace()método HashMap substitui o mapeamento e retorna:

  • o valor anterior associado à chave especificada, se o parâmetro opcional oldValue não estiver presente
  • true, se o parâmetro opcional oldValue estiver presente

Observação : o método retorna null, se a chave especificada for mapeada para um valor nulo ou se a chave não estiver presente no hashmap.

Exemplo 1: Substituir uma entrada no HashMap

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages = new HashMap(); // add entries to HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: " + languages); // replace mapping for key 2 String value = languages.replace(2, "Java"); System.out.println("Replaced Value: " + value); System.out.println("Updated HashMap: " + languages); ) )

Resultado

 HashMap: (1 = Python, 2 = Inglês, 3 = JavaScript) Valor substituído: Inglês HashMap atualizado: (1 = Python, 2 = Java, 3 = JavaScript)

No exemplo acima, criamos um hashmap denominado linguagens. Aqui, usamos o método replace () para substituir a entrada da chave 1 (1 = inglês) pelo valor Java especificado.

Aqui, o replace()método não possui o parâmetro oldValue opcional. Portanto, ele retorna o valor antigo (inglês).

Exemplo 2: HashMap replace () com Old Value

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap countries = new HashMap(); // insert items to the HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:" + countries); // replace mapping (Washington = America) countries.replace("Washington", "America", "USA"); // return true countries.replace("Canberra", "New Zealand", "Victoria"); // return false System.out.println("Countries after replace():" + countries); ) )

Resultado

 Países: (Canberra = Austrália, Ottawa = Canadá, Washington = América) Países após substituir (): (Canberra = Austrália, Ottawa = Canadá, Washington = EUA)

No exemplo acima, criamos um hashmap chamado países. Observe a linha,

 countries.replace("Washington", "America", "USA");

Aqui, o método replace () inclui o parâmetro oldValue opcional (America). Conseqüentemente, o mapeamento onde os principais mapas de Washington para avaliar a América são substituídos pelo novo valor EUA.

No entanto, observe a linha,

 countries.replace ("Canberra", "Nova Zelândia", "Victoria");

Aqui, no hashmap, a chave Canberra não mapeia para valorizar a Nova Zelândia. Portanto, o método replace () não substitui nenhum valor.

Nota : Podemos usar o método Java HashMap clear () para remover todos os mapeamentos do hashmap.

HashMap put () vs. substituir()

A sintaxe do método put()e replace()é bastante semelhante em HashMap.

 // syntax of put() hashmap.put(key, value) // syntax of replace() hashmap.replace(key, value)

E, quando o hashmap contém o mapeamento para a chave especificada , ambos os métodos substituem o valor associado à chave especificada.

No entanto, se o hashmap não contém nenhum mapeamento para a chave especificada , então

  • o put()método insere o novo mapeamento para a chave e valor especificados
  • o replace()método retornanull

Exemplo 3: HashMap put () vs. substituir()

 import java.util.HashMap; class Main ( public static void main(String() args) ( // create an HashMap HashMap languages1 = new HashMap(); // insert entries to HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); // create another HashMap similar to languages1 HashMap languages2 = new HashMap(); // puts all entries from languages1 to languages2 languages2.putAll(languages1); System.out.println("HashMap: " + languages1); // use of put() languages2.put(3, "Java"); System.out.println("HashMap after put():" + languages2); // use of replace() languages1.replace(3, "Java"); System.out.println("HashMap after replace():" + languages1); ) )

Resultado

 HashMap: (1 = Python, 2 = JavaScript) HashMap depois de put (): (1 = Python, 2 = JavaScript, 3 = Java) HashMap depois de replace (): (1 = Python, 2 = JavaScript)

No exemplo acima, criamos dois hashmaps chamados idiomas1 e idiomas2. Usamos o método putAll () do HashMap para que ambos os hashmaps tenham os mesmos mapeamentos.

Aqui, o mapeamento da chave 3 não está presente no hashmap. Conseqüentemente,

  • o put()método adiciona o novo mapeamento (3 = Java) paraHashMap
  • o replace()método não realiza nenhuma operação

Para saber mais sobre como adicionar entradas, visite Java HashMap put ().

Artigos interessantes...