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

Java Basics

Java 流程控制

Java 数组

Java 面向对象(I)

Java 面向对象(II)

Java 面向对象(III)

Java Exception Handling

Java 列表(List)

Java Queue(队列)

Java Map集合

Java Set集合

Java 输入输出(I/O)

Java Reader/Writer

Java 其他主题

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

Java HashMap method

Java HashMap replace()方法将指定键的映射替换为哈希映射中指定的新值

replace()方法的语法为:

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

replace()参数

  • key  - 要替换其映射的键

  • oldValue (可选)- 映射中要替换的值

  • newValue - oldValue被替换为这个值

replace()返回值

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

  • 如果可选参数oldValue不存在,则为与指定键关联的上一个值

  • 如果存在可选参数oldValue,则为true

Remarque:如果指定的键映射到null值,或者该键不在hashmap中,则该方法返回null。

Exemple1:替换HashMap中的条目

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Créer HashMap
    HashMap<Integer, String> languages = new HashMap<>();
    //Ajouter l'entrée à HashMap
    languages.put(1, "Python");
    languages.put(2, "English");
    languages.put(3, "JavaScript");
    System.out.println("HashMap: " + languages);
    //remplacement de la clé2de la carte de hachage
    String value = languages.replace(2, "Java");
    System.out.println("valeur remplacée: " + value);
    System.out.println("HashMap mis à jour: " + languages);
  }
}

Output result

HashMap: {1=Python, 2=English, 3=JavaScript}
valeur remplacée: English
HashMap mis à jour: {1=Python, 2=Java, 3=JavaScript}

Dans l'exemple ci-dessus, nous avons créé une carte de hachage nommée languages. Ici, nous avons utilisé la méthode replace() pour remplacer la clé1(1remplace l'entrée =English) par la valeur spécifiée Java.

Ici, la méthode replace() n'a pas de paramètre oldValue optionnel. Par conséquent, elle retourne la valeur ancienne (English).

Exemple2:remplacement de la valeur ancienne de HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    //Créer HashMap
    HashMap<String, String> countries = new HashMap<>();
    //Insérer l'élément dans HashMap
    countries.put("Washington", "America");
    countries.put("Ottawa", "Canada");
    countries.put("Canberra", "Australia");
    System.out.println("Countries:\n" + countries);
    // remplace la carte de hachage {Washington = America}
    countries.replace("Washington", "America", "USA");  // retourne true
    countries.replace("Canberra", "New Zealand", "Victoria");  // retourne false
    System.out.println("Les Countries après l'exécution de replace():\n" + countries);
  }
}

Output result

Countries:
{Canberra=Australia, Ottawa=Canada, Washington=America}
Les Countries après l'exécution de replace() :
{Canberra=Australia, Ottawa=Canada, Washington=USA}

Dans l'exemple ci-dessus, nous avons créé une carte de hachage nommée countries. Notez cette ligne,

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

Ici, la méthode replace() inclut un paramètre optionnel oldValue (Amérique). Par conséquent, la correspondance de la clé Washington mappée à la valeur Amérique est remplacée par la nouvelle valeur USA.

Mais veuillez noter que,

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

Ici, dans la table de hachage, la clé Canberra n'est pas mappée à la valeur Nouvelle-Zélande. Par conséquent, la méthode replace() ne remplacera aucune valeur.

Remarque:Nous pouvons utiliser  Java HashMap clear()  Méthode pour supprimer toutes les correspondances du tableau de hachage.

HashMap put() et replace()

Dans HashMap, la syntaxe des méthodes put() et replace() semble très similaire.

// Syntaxe de put()
hashmap.put(key, value)
// Syntaxe de replace()
hashmap.replace(key, value)

Et, lorsque la table de hachage contient la correspondance spécifiéeCléles deux méthodes remplaceront la valeur associée à la clé spécifiée.

Mais, si la table de hachage ne contient pas la correspondance spécifiéede la cléPour toute correspondance, si

  • La méthode put() pour la clé spécifiéeCléetValeurInsérer une nouvelle correspondance

  • La méthode replace() retourne null

Exemple3:Méthodes put() et replace() de HashMap

import java.util.HashMap;
class Main {
  public static void main(String[] args) {
    // Créer HashMap
    HashMap<Integer, String> languages1 = new HashMap<>();
    // Insérer des entrées dans HashMap
    languages1.put(1, "Python");
    languages1.put(2, "JavaScript");
    //Créer un autre HashMap similaire à languages1du HashMap
    HashMap<Integer, String> languages2 = new HashMap<>();
    //Tous les éléments de language1Ajouter language2
    languages2.putAll(languages1);
    System.out.println("HashMap: " + languages1);
    // Utiliser put()
    languages2.put(3, "Java");
    System.out.println("HashMap après put():\n" + languages2);
    // Utiliser replace()
    languages1.replace(3, "Java");
    System.out.println("HashMap après replace():\n" + languages1);
  }
}

Output result

HashMap: {1=Python, 2=JavaScript}
HashMap after put():
{1=Python, 2=JavaScript, 3=Java}
HashMap followed by HashMap():
{1=Python, 2=JavaScript}

In the above example, we created two named languages1and languages2hash map. We usedHashMap putAll()method so that two hash maps have the same mappings.

Here, there is no key in the hash map3Therefore,

  • The put() method adds a new mapping(3 = Java) addto HashMap

  • The replace() method does nothing

AccessJava HashMap put()method to learn more about adding entries.

Java HashMap method