Карта добавила два новых метода замены в Java 8
1. Заменить (k, v)
Указанный ключ будет сопоставлен с указанным значением (новое значение) только тогда, когда указанный ключ уже существует, и с ним связано сопоставление.
Когда указанный ключ не существует, метод возвращает ноль
Комментарий Javadoc объясняет эквивалентный код Java для реализации этого метода значения по умолчанию:
if (map.containskey (key)) {return map.put (key, value);} else {return null;}Ниже приведено сравнение нового метода и предыдущего метода перед JDK8:
/ * * Продемонстрируйте метод map.replace (k, v) и сравните его с методом реализации перед JDK8. Недавно добавленный метод map.replace (k, v) в JDK8 * использует меньше строк кода, чем традиционные методы реализации *, и позволяет окончательной переменной получать возвращаемое значение. */// Метод реализации до jdk8 string заменилкапиталцита; if (stassandcapitals.containskey ("alaska")) {replosedCapitalCity = statesandcapitals.put ("alaska", "juneau");} // Метод реализации jdk8 final String заменил JDK8City = statesandCapitals.Replace ("alaksa", "Juneau");2. Заменить (K, V, V)
Второй недавно добавленный метод замены карты имеет более узкий диапазон интерпретации при замене существующих значений. Когда этот метод (предыдущий метод замены) просто охватывает процесс замены указанного ключа с любым допустимым значением на карте, этот метод «Заменить» принимает дополнительный (третий) параметр, который будет заменен только в том случае, если как указанный ключ, так и значение значения.
Комментарий Javadoc иллюстрирует реализацию этого метода значения по умолчанию:
if (map.containskey (key) && objects.equals (map.get (key), value)) {map.put (key, newvalue); вернуть true;} else {return false;}В следующем списке кода показано конкретное сравнение между новым методом реализации и методом реализации перед JDK8.
/ * * Демонстрируйте метод map.replace (k, v, v) и сравните его с методом реализации перед JDK8. Недавно добавленный метод map.replace (k, v, v) в JDK8 * использует меньше строк кода, чем традиционные методы реализации *, и позволяет конечной переменной получить возвратное значение. */// Метод реализации перед JDK8 BOOLEAN заменил = false; if (stassandcapitals.containskey ("nevada") && objects.equals (statesandcapitals.get ("nevada"), "las Vegas")) {statesandcapitals.put ("Невада", "Карсон -Сити"); заменил = true; } // Метод реализации JDK8 Final Boolean заменилВыше приведено краткое обсуждение нового метода карты в Java 8 - Замените - все содержимое замены. Я надеюсь, что все будут поддерживать wulin.com ~