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 HashMap
classe.
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 ().