Java - Modifier une valeur dans Hashtable

Supposons que nous avons une Hashtable<String, Integer> en Java. Comment modifier ou remplacer la valeur pour une clé donnée.

Exemple de la méthode java.util.Hashtable.put(K key, V value)

Cette méthode est utilisée pour lier la clé à une valeur dans une Hashtable. L’exception NullPointerException est déclenchée si la clé ou la valeurs sont nuls. Si la clé existe déjà, sa valeur est remplacée automatiquement.

L'exemple ci-dessous montre la modification d'une valeur.

 
package com.codeurjava.hashtable;

import java.util.*;

public class hashtable_put {

public static void main(String args[]) {
// crérer une hashtable
Hashtable ht = new Hashtable();

// insérer des pairs
ht.put(1, "A");
ht.put(2, "B");
ht.put(3, "C");

System.out.println("Hashtable avant modification : "+ht);

// modifier la valeur de la clé 2
String val_ret=(String)ht.put(2,"BB");

System.out.println("Valeur remplacée : "+val_ret);

System.out.println("Hashtable après modification : "+ht);

}

}
Exécution:

 
Initial hash table value: {3=C, 2=B, 1=A}
Valeur remplacée : B
Nouvelle Hashtable : {3=C, 2=BB, 1=A}

Exemple de la méthode replace()

Java dispose d'une autre méthode replace().
  • public boolean replace(K key, V oldValue, V newValue)
Il n'y a aucune différence entre la méthode put et replace() dans ce cas ou il existe déja une affectation entre la clé et la valeur et que l'on veut remplacer.

ht.replace(2,"B","BB");
Ressources:
https://docs.oracle.com/javase/7/docs/api/java/util/Hashtable.html#put(K,%20V)