English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
O método replace() do Java HashMap substitui o mapeamento da chave especificada para o novo valor no hashmap
A sintaxe do método replace() é:
hashmap.replace(K key, V oldValue, V newValue)
key - A chave a ser substituída no mapeamento
oldValue (Opcional)- O valor a ser substituído no mapeamento
newValue - O oldValue é substituído por esse valor
O método replace() do HashMap substitui o mapeamento e retorna:
Se o parâmetro opcional oldValue não existir, é o valor anterior associado à chave especificada
Se existir o parâmetro opcional oldValue, é true
atenção:Se o valor especificado mapeado para null ou a chave não existe no hashmap, o método retorna null.
import java.util.HashMap; class Main { public static void main(String[] args) { // criando HashMap HashMap<Integer, String> languages = new HashMap<>(); //adicionar entrada ao HashMap languages.put(1, "Python"); languages.put(2, "English"); languages.put(3, "JavaScript"); System.out.println("HashMap: "", + languages); //substituir chave2do mapeamento String value = languages.replace(2, "Java"); System.out.println("valor substituído: " + value); System.out.println("HashMap atualizado: " + languages); } }
Resultados de saída
HashMap: {1=Python, 2=English, 3=JavaScript} valor substituído: English HashMap atualizado: {1=Python, 2=Java, 3=JavaScript}
No exemplo acima, criamos um mapeamento chamado languages. Aqui, usamos o método replace() para substituir a chave1(1substitui a entrada com valor antigo (English) por um valor especificado Java.
Aqui, o método replace() não possui parâmetro oldValue opcional. Portanto, ele retorna o valor antigo (English).
import java.util.HashMap; class Main { public static void main(String[] args) { //criando HashMap HashMap<String, String> countries = new HashMap<>(); //inserir itens no HashMap countries.put("Washington", "America"); countries.put("Ottawa", "Canada"); countries.put("Canberra", "Australia"); System.out.println("Countries:\n" + countries); // substitui o mapeamento {Washington = America} countries.replace("Washington", "America", "USA"); // retorna true countries.replace("Canberra", "New Zealand", "Victoria"); // retorna false System.out.println("Countries: após a execução de replace():\n" + countries); } }
Resultados de saída
Countries: {Canberra=Australia, Ottawa=Canada, Washington=America} Countries: após a execução de replace() {Canberra=Australia, Ottawa=Canada, Washington=USA}
No exemplo acima, criamos um mapeamento chamado countries. Observe esta linha,
countries.replace("Washington", "America", "USA");
aqui, o método replace() inclui o parâmetro opcional oldValue (America). Portanto, o mapeamento da chave Washington para o valor America será substituído pelo novo valor USA.
mas, note que
countries.replace("Canberra", "New Zealand", "Victoria");
aqui, na mapeamento hash, a chave Canberra não está mapeada para o valor New Zealand. Portanto, o método replace() não substituirá nenhum valor.
atençãopodemos usar HashMap clear() Java métodos removem todos os mapeamentos do mapeamento hash.
no HashMap, a sintaxe dos métodos put() e replace() parece muito semelhante.
// sintaxe do put() hashmap.put(key, value) // sintaxe do replace() hashmap.replace(key, value)
e, quando o mapeamento hash contiver o especificadochaveentão essas duas métodos substituirão o valor associado à chave especificada.
mas, se o mapeamento hash não contiver o mapeamento especificadoda chavepara qualquer mapeamento, então
o método put() para o especificadochaveevalorinserindo novo mapeamento
o método replace() retorna null
import java.util.HashMap; class Main { public static void main(String[] args) { // criando HashMap HashMap<Integer, String> languages1 = new HashMap<>(); // inserindo itens no HashMap languages1.put(1, "Python"); languages1.put(2, "JavaScript"); //criando outro semelhante ao languages1do HashMap HashMap<Integer, String> languages2 = new HashMap<>(); //removendo todos os itens de language1inserindo language2 languages2.putAll(languages1); System.out.println("HashMap: "", + languages1); // usando put() languages2.put(3, "Java"); System.out.println("HashMap após put():\n" + languages2); // usando replace() languages1.replace(3, "Java"); System.out.println("HashMap após replace():\n" + languages1); } }
Resultados de saída
HashMap: {1=Python, 2=JavaScript} HashMap após o put(): {1=Python, 2=JavaScript, 3=Java} HashMap após o HashMap(): {1=Python, 2=JavaScript}
No exemplo acima, criamos dois chamados languages1e languages2do mapeamento de hash. UsamosHashMap putAll()Método, para que dois mapeamentos de hash tenham o mesmo mapeamento.
Aqui, não existe a chave no mapeamento de hash3Mapeamento. Portanto,
O método put() adiciona um novo mapeamento(3 = Java) adicionarpara HashMap
O método replace() não executa nenhuma operação
AcessarHashMap put() JavaMétodos para obter mais informações sobre a adição de itens.