English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Java 기본 가이드

Java 흐름 제어

Java 배열

Java面向对象(I)

Java面向对象(II)

Java面向对象(III)

Java 예외 처리

Java 리스트(List)

Java Queue(큐)

Java Map集合

Java Set集合

Java 입력/출력(I/O)

Java Reader/Writer

Java 다른 주제

Java HashMap replace() 사용 방법 및 예제

Java HashMap 메서드

Java HashMap replace() 메서드는 지정된 키의 맵핑을 해시 맵에서 지정된 새 값을 대체합니다

replace() 메서드의 문법은 다음과 같습니다:

hashmap.replace(K key, V oldValue, V newValue)

replace() 매개변수

  • key  - 대체할 맵핑 키

  • oldValue (선택)- 맵에서 대체할 값

  • newValue - oldValue는 이 값으로 대체됩니다

replace() 반환 값

 HashMap replace() 메서드는 맵을 대체하고 반환합니다:

  • 옵션 파라미터 oldValue가 존재하지 않으면 지정된 키와 연관된 이전 값

  • 옵션 파라미터 oldValue가 존재하면 true

주의:지정된 키가 null 값으로 맵핑되거나 hashmap에 없으면 이 메서드는 null을 반환합니다.

예제1:대신 HashMap의 항목을 대체

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // HashMap을 생성하다
    HashMap<Integer, String> languages = new HashMap<>();
    //항목을 HashMap에 추가
    languages.put(1, "Python");
    languages.put(2, "English");
    languages.put(3, "JavaScript");
    System.out.println("HashMap: " + languages);
    //대체 키2의 매핑
    String value = languages.replace(2, "Java");
    System.out.println("대체된 값: "); + value);
    System.out.println("업데이트된 HashMap: "); + languages);
  }
}

출력 결과

HashMap: {1=Python, 2를 대체 3=JavaScript}
대체된 값: English
업데이트된 HashMap: {1=Python, 2를 Java로 업데이트 3=JavaScript}

위의 예제에서 languages라는 해시 매핑을 생성했습니다. 여기서 replace() 메서드를 사용하여 키1(1를 지정된 값 Java로 대체

여기서 replace() 메서드는 선택가능한 oldValue 매개변수가 없습니다. 따라서, 그것은 기존 값을 반환합니다(English).

예제2:기존 값을 가진 HashMap replace()

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //HashMap을 생성하다
    HashMap<String, String> countries = new HashMap<>();
    //항목을 HashMap에 삽입
    countries.put("Washington", "America");
    countries.put("Ottawa", "Canada");
    countries.put("Canberra", "Australia");
    System.out.println("Countries:\n"); + countries);
    // 지도 {Washington = America}를 대체
    countries.replace("Washington", "America", "USA");  // true를 반환
    countries.replace("Canberra", "New Zealand", "Victoria");  // false를 반환
    System.out.println("replace()를 실행한 후의 Countries:\n"); + countries);
  }
}

출력 결과

Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
replace()를 실행한 후의 Countries:
{Canberra=Australia, Ottawa=Canada, Washington=USA}

위의 예제에서 countries라는 해시 매핑을 생성했습니다. 이 줄을 주목하세요.

countries.replace("Washington", "America", "USA");

여기서, replace() 메서드는 선택적인 oldValue 매개변수(America)를 포함하고 있으므로, 키 Washington의 값 America의 매핑을 새 값 USA로 대체합니다.

하지만 주의하세요

countries.replace("Canberra", "New Zealand", "Victoria");

여기서, 해시 매핑에서 키 Canberra는 값 New Zealand에 매핑되어 있지 않으므로, replace() 메서드는 어떤 값도 대체하지 않습니다.

주의:다음과 같이 사용할 수 있습니다  Java HashMap clear()  메서드는 해시 매핑에서 모든 매핑을 제거합니다.

HashMap put() 및 replace()

HashMap에서, put()와 replace() 메서드의 문법이 매우 유사합니다.

// put() 문법
hashmap.put(key, value)
// replace() 문법
hashmap.replace(key, value)

그리고, 해시 매핑이 지정된의 매핑을 대체합니다. 이 두 메서드는 모두 지정된 키와 연결된 값을 대체합니다.

하지만, 해시 매핑이 지정된 매핑을 포함하지 않으면키의모든 매핑이면

  • put() 메서드는 지정된새 매핑을 삽입하다

  • replace() 메서드는 null을 반환합니다

예제3:HashMap put() 및 replace() 메서드

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // HashMap을 생성하다
    HashMap<Integer, String> languages1 = new HashMap<>();
    // HashMap에 항목을 삽입하다
    languages1.put(1, "Python");
    languages1.put(2, "JavaScript");
    //languages와 유사한 다른 HashMap을 생성하다1의 HashMap
    HashMap<Integer, String> languages2 = new HashMap<>();
    //language에서 모든 항목을 가져오기1language에 넣기2
    languages2.putAll(languages1);
    System.out.println("HashMap: " + languages1);
    // 사용 put()
    languages2.put(3, "Java");
    System.out.println("put()之后的HashMap:\n" + languages2);
    // 사용  replace()
    languages1.replace(3, "Java");
    System.out.println("HashMap after replace():\n" + languages1);
  }
}

출력 결과

HashMap: {1=Python, 2=JavaScript}
put() 이후의 HashMap:
{1=Python, 2=JavaScript, 3=Java}
HashMap 이후의 HashMap():
{1=Python, 2=JavaScript}

위의 예제에서 두 개의 languages 이름을 가진1와 languages2의 해시 매핑. 우리는 다음을 사용했습니다HashMap putAll()메서드를 사용하여 두 해시 매핑이 동일한 매핑을 가지도록 합니다.

이곳에 해시 매핑에 키가 존재하지 않습니다3매핑을 추가합니다. 따라서,

  • put() 메서드는 새로운 매핑을(3 = Java) 추가HashMap

  • replace() 메서드는 어떤 작업도 수행하지 않습니다

접근Java HashMap put()메서드를 통해 추가된 항목에 대한更多信息를 알아보세요.

Java HashMap 메서드