O mapa adicionou dois novos métodos para substituir em Java 8
1. Substitua (K, V)
A chave especificada será mapeada para o valor especificado (novo valor) somente quando a chave especificada já existir e existe um valor de mapeamento relacionado a ele.
Quando a chave especificada não existe, o método retorna um nulo
O comentário Javadoc explica o código Java equivalente para a implementação deste método de valor padrão:
if (map.containsKey (key)) {return map.put (chave, value);} else {return null;}A seguir, é apresentada uma comparação do novo método e do método anterior antes do JDK8:
/ * * Demonstre o método map.Replace (k, v) e compare -o com o método de implementação antes do JDK8. O método recém -adicionado Map.Rplace (K, V) no JDK8 * usa menos linhas de código do que os métodos de implementação tradicional * e permite que uma variável final receba o valor de retorno. */// Método de implementação antes do JDK8 String substituídoCapitalCity; if (staisAndcapitals.containsKey ("Alaska")) {substituídoCapitalCity = estados e o método de implementação do "Alaska", "Juneau");} // de implementação do JDK8 String final substituídojdk8city = estatais e os estados.2. Substitua (K, V, V)
O segundo método de substituição do mapa recém -adicionado possui uma faixa de interpretação mais estreita na substituição dos valores existentes. Quando esse método (o método de substituição anterior) apenas abrange o processo de substituição da tecla especificada com qualquer valor válido no mapa, esse método "substituir" aceita um parâmetro adicional (terceiro), que será substituído apenas se a chave especificada e a correspondência do valor.
O comentário Javadoc ilustra a implementação deste método de valor padrão:
if (map.containsKey (key) && Objects.equals (map.get (key), value)) {map.put (chave, newvalue); retornar true;} else {return false;}A lista de códigos a seguir mostra uma comparação específica entre o novo método de implementação e o método de implementação antes do JDK8.
/ * * Demonstre o método Map.Replace (K, V, V) e compare -o com o método de implementação antes do JDK8. O método recém -adicionado Map.Rplace (K, V, V) no JDK8 * usa menos linhas de código do que os métodos de implementação tradicional * e permite que uma variável final receba o valor de retorno. */// Método de implementação antes do JDK8 boolean substituído = false; if (staisAndcapitals.containskey ("nevada") && Objects.equals (StatesAndcapitals.get ("Nevada"), "Las Vegas")) {StatesAndCapitals.put ("Nevada", "Carson City"); substituído = true; } // Método de implementação do JDK8 final booleano substituídojdk8 = estados e capitais.replace ("nevada", "Las Vegas", "Carson City");O exposto acima é a breve discussão do novo método de mapa em Java 8 - Substituir - todo o conteúdo da substituição. Espero que todos apoiem wulin.com ~