English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java HashMap replaceAll() 메서드는 지정된 함수의 결과로 해시 테이블의 모든 매핑을 대체합니다.
replaceAll() 메서드의 문법은 다음과 같습니다:
hashmap.replaceAll(Bifunction<K, V> function)
function -해시 맵의 각 항목에 적용되는 작업
replaceAll() 메서드는 어떤 값도 반환하지 않습니다. 대신 함수 내의 새 값을 해시 맵의 모든 값으로 대체합니다.
import java.util.HashMap; class Main { public static void main(String[] args) { //HashMap을 생성 HashMap<Integer, String> languages = new HashMap<>(); //HashMap에 항목 추가 languages.put(1, "java"); languages.put(2, "javascript"); languages.put(3, "python"); System.out.println("HashMap: " + languages); //모든 값을 대문자로 변경 languages.replaceAll((key, value) -> value.toUpperCase()); System.out.println("Updated HashMap: ", + languages); } }
출력 결과
HashMap: {1=java, 2=javascript, 3=python} Updated HashMap: {1=JAVA, 2=JAVASCRIPT, 3=PYTHON}
위의 예제에서는 languages라는 해시 맵을 생성했습니다. 이 줄을 주목하십시오
languages.replaceAll((key, value) -> value.toUpperCase());
여기서
(키, 값) -> value.toUpperCase() - 는 람다 표현식입니다. 그것은 해시 테이블의 모든 값을 대문자로 변환하여 반환합니다. 더 많은 정보를 얻으려면 다음을 방문하십시오Java Lambda 표현식.
replaceAll() - hash map의 모든 값을 람다 표현식이 반환하는 값으로 대체합니다.
import java.util.HashMap; class Main { public static void main(String[] args) { // HashMap을 생성 HashMap<Integer, Integer> numbers = new HashMap<>(); // HashMap에 항목을 삽입 numbers.put(5, 0); numbers.put(8, 1); numbers.put(9, 2); System.out.println("HashMap: " + numbers); //모든 값을 키의 제곱으로 대체 numbers.replaceAll((키, 값) -> 키 * 키);; System.out.println("갱신된 HashMap: " + numbers); } }
출력 결과
HashMap: {5=0, 8=1, 9=2} 갱신된 HashMap: {5=25, 8=64, 9=81}
위의 예제에서는 numbers라는 해시 매핑을 생성했습니다. 주의해야 할 이점은 다음과 같습니다.
numbers.replaceAll((키, 값) -> 키 * 키);
여기서
(키, 값) ->키 * 키 - 계산키의 제곱을 반환
replaceAll() - 키와 값으로 (key,value)->key*key가 반환하는 값이 hashmap의 모든 값을 대체