How to Update the Value of an Existing Key in a LinkedHashMap in Java?
In Java programming, a LinkedHahMap is like HashMap with additional features
in the Java Collections framework. It keeps track of the order in which elements were added. A regular HashMap
doesn’t have a fixed order for elements. LinkedHashMap
uses an approach with a doubly-linked list to remember the order of inserted keys.
Key terminologies:
- Key-value pair: In a LinkedHashMap, all the data can be stored in the form of a key-value pair, where the key is a unique value for each element in the map and the value is assigned to a particular key.
- KeySet: The KeySet in a LinkedHashMap is gathered using the method and returns a set of all keys in the map.
- Insertion Order: The elements inserted into the LinkedHashMap are maintained in the order.
- Double-LinkedList: LinkedHashMap uses the doubly-linked list to maintain the order of the elements.
Implementation to Update the Existing Keys
In Java, the implementation of the update of the values of an existing key in a LinkedHashMap using the put() method. It can be used to update the values of the existing key in the LinkedHashMap.
- put(): This method can be used to add new key values to the map and also update the values if the key already exists.
Example:
Input: Original LinkedHashMap: {Key1=1, Key2=2, Key3=3}
Output: Value updated for key ‘Key2’
Updated LinkedHashMap: {Key1=1, Key2=22, Key3=3}
Java Program to Update the Value of an Existing Key in a LinkedHashMap
Below is the implementation of Updating the Value of an Existing Key in a LinkedHashMap:
Java
// Java Program to update the value of an existing key in a LinkedHashMap import java.util.LinkedHashMap; public class GFGUpdateLinkedHashMap { public static void main(String[] args) { // Create a sample LinkedHashMap named as linkedHashMap LinkedHashMap<String, Integer> linkedHashMap = new LinkedHashMap<>(); // Add some key-value pairs linkedHashMap.put( "Key1" , 1 ); linkedHashMap.put( "Key2" , 2 ); linkedHashMap.put( "Key3" , 3 ); // print the original map System.out.println( "Original LinkedHashMap: " + linkedHashMap); // Update the existing value with the key "Two" updateValue(linkedHashMap, "Key2" , 22 ); // print the updated map System.out.println( "Updated LinkedHashMap: " + linkedHashMap); } // Method to update the existing key value in a LinkedHashMap private static <K, V> void updateValue(LinkedHashMap<K, V> map, K key, V newValue) { if (map.containsKey(key)) { map.put(key, newValue); System.out.println( "Value updated for key '" + key + "'" ); } else { System.out.println( "Key '" + key + "' not found in the LinkedHashMap" ); } } } |
Original LinkedHashMap: {Key1=1, Key2=2, Key3=3} Value updated for key 'Key2' Updated LinkedHashMap: {Key1=1, Key2=22, Key3=3}
Explanation of the Program:
- This Java program demonstrates updating the value of an existing key in a LinkedHashMap.
- It starts by creating a LinkedHashMap named “linkedHashMap” with some key-value pairs.
- After printing the original map, it uses a method called “updateValue” to update the value associated with the key “Key2” to 22.
- Finally, it prints the updated map. In simple terms, it’s like having a list of things with names and changing the value associated with one of those names while keeping the rest unchanged.