Java 菜鳥教程

Java 流程控制

Java 數(shù)組

Java 面向?qū)ο?I)

Java 面向?qū)ο?II)

Java 面向?qū)ο?III)

Java 異常處理

Java 列表(List)

Java Queue(隊(duì)列)

Java Map集合

Java Set集合

Java 輸入輸出(I/O)

Java Reader/Writer

Java 其他主題

Java HashMap replace() 使用方法及示例

Java HashMap 方法

Java HashMap replace()方法將指定鍵的映射替換為哈希映射中指定的新值

replace()方法的語(yǔ)法為:

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

replace()參數(shù)

  • key  - 要替換其映射的鍵

  • oldValue (可選)- 映射中要替換的值

  • newValue - oldValue被替換為這個(gè)值

replace()返回值

 HashMap replace()方法替換映射并返回:

  • 如果可選參數(shù)oldValue不存在,則為與指定鍵關(guān)聯(lián)的上一個(gè)值

  • 如果存在可選參數(shù)oldValue,則為true

注意: 如果指定的鍵映射到null值,或者該鍵不在hashmap中,則該方法返回null。

示例1:替換HashMap中的條目

import java.util.HashMap;

class Main {
  public static void main(String[] args) {

    // 創(chuàng)建 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);
  }
}

輸出結(jié)果

HashMap: {1=Python, 2=English, 3=JavaScript}
被替換的值: English
更新后的 HashMap: {1=Python, 2=Java, 3=JavaScript}

在上面的示例中,我們創(chuàng)建了一個(gè)名為languages的哈希映射。在這里,我們已使用replace()方法將鍵1(1=English)的條目替換為指定的值Java。

在此,replace()方法沒有可選oldValue參數(shù)。因此,它返回舊值(English)。

示例2:具有舊值的HashMap replace()

import java.util.HashMap;

class Main {
  public static void main(String[] args) {
    //創(chuàng)建 HashMap
    HashMap<String, String> countries = new HashMap<>();

    //將項(xiàng)目插入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("執(zhí)行 replace()之后的 Countries:\n" + countries);
  }
}

輸出結(jié)果

Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
執(zhí)行 replace()之后的 Countries:
{Canberra=Australia, Ottawa=Canada, Washington=USA}

在上面的示例中,我們創(chuàng)建了一個(gè)名為countries的哈希映射  。注意這一行,

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

在此,replace() 方法包括可選oldValue參數(shù)(America)。因此,將鍵Washington映射到值A(chǔ)merica的映射替換為新的值USA。

但是請(qǐng)注意,

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

在此,在哈希映射中,鍵Canberra未映射到值New Zealand。因此,replace()方法不會(huì)替換任何值。

注意:我們可以使用  Java HashMap clear()  方法從哈希映射中刪除所有映射。

HashMap put()與 replace()

在HashMap中,put()和replace()方法的語(yǔ)法看起來非常相似。

// put() 語(yǔ)法
hashmap.put(key, value)

// replace() 語(yǔ)法
hashmap.replace(key, value)

并且,當(dāng)哈希映射包含指定的映射時(shí),則這兩種方法都會(huì)替換與指定鍵關(guān)聯(lián)的值。

但是,如果哈希映射不包含指定鍵的任何映射,則

  • put()方法為指定的插入新的映射

  • replace()方法返回null

示例3:HashMap put() 與 replace()方法

import java.util.HashMap;

class Main {
  public static void main(String[] args) {

    // 創(chuàng)建 HashMap
    HashMap<Integer, String> languages1 = new HashMap<>();

    // 向HashMap插入條目
    languages1.put(1, "Python");
    languages1.put(2, "JavaScript");

    //創(chuàng)建另一個(gè)類似于languages1的HashMap
    HashMap<Integer, String> languages2 = new HashMap<>();

    //將所有條目從language1放入language2
    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);

  }
}

輸出結(jié)果

HashMap: {1=Python, 2=JavaScript}
put()之后的HashMap:
{1=Python, 2=JavaScript, 3=Java}
HashMap 之后的HashMap():
{1=Python, 2=JavaScript}

在上面的示例中,我們創(chuàng)建了兩個(gè)名為languages1和languages2的哈希映射。我們使用了HashMap putAll()方法,以便兩個(gè)哈希映射具有相同的映射。

在此,哈希映射中不存在鍵3的映射。 因此,

  • put()方法將新的映射(3 = Java)添加到HashMap

  • replace()方法不執(zhí)行任何操作

訪問Java HashMap put()方法以了解有關(guān)添加條目的更多信息。

Java HashMap 方法

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清