자바8에서 맵의 새로운 방법--replace
1.replace(k,v)
지정한 키가 이미 존재하고 이와 관련된 맵 값이 있을 때 지정한 키를 지정한 값에 맵핑합니다 (새 값)
지정한 키가 존재하지 않을 때, 방법은null로 되돌아옵니다.
javadoc의 주석은 이 기본값 방법의 실현에 대한 등가 Java 코드를 설명합니다.
if (map.containsKey(key)) {
return map.put(key, value);
} else {
return null;
}
다음은 새로운 방법과 JDK8 이전 방법의 비교입니다.
/*
* Map.replace(K, V) JDK8 。JDK8
* Map.replace(K, V) ,
* final 。
*/
// JDK8
String replacedCapitalCity;
if (statesAndCapitals.containsKey("Alaska")) {
replacedCapitalCity = statesAndCapitals.put("Alaska", "Juneau");
}
// JDK8
final String replacedJdk8City = statesAndCapitals.replace("Alaska", "Juneau");
2.replace(k,v,v)둘째, 새로 추가된 맵 리플레이스 방법은 현존값을 바꾸는 데 있어 더욱 좁은 해석 범위를 가진다.그 방법 (이전replace 방법) 은 지정한 키가 맵에 있는 유효한 값을 포함하는 교체 처리일 뿐, 이'replace'방법은 지정한 키와 값이 일치하는 경우에만 추가 (세 번째) 인자를 받아들일 수 있습니다.
javadoc 주석은 이 기본값 방법의 실현을 설명합니다.
if (map.containsKey(key) && Objects.equals(map.get(key), value)) {
map.put(key, newValue);
return true;
} else {
return false;
}
다음 코드는 새로운 실현 방법과 JDK8 이전의 실현 방법의 구체적인 비교를 열거한다.
/*
* Map.replace(K, V, V) JDK8 。JDK8
* Map.replace(K, V, V) ,
* final 。
*/
// JDK8
boolean replaced = false;
if ( statesAndCapitals.containsKey("Nevada")
&& Objects.equals(statesAndCapitals.get("Nevada"), "Las Vegas")) {
statesAndCapitals.put("Nevada", "Carson City");
replaced = true;
}
// JDK8
final boolean replacedJdk8 = statesAndCapitals.replace("Nevada", "Las Vegas", "Carson City");
지금까지 여러분께 들려드린 java8중맵의 새로운 방법인 Replace의 모든 내용입니다. 많은 응원 부탁드립니다~
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
38. Java의 Leetcode 솔루션텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.