How to Swap Keys and Values in a Map in Java - Step by Step Examples



How to Swap Keys and Values in a Map in Java ?

Answer

To swap keys and values in a map in Java, you can iterate over the original map and insert each key-value pair into a new map with the value as the key and the key as the value. This method allows you to create a new map with swapped key-value pairs.



✐ Examples

1 Swapping Keys and Values in a Map of Integers

We can swap keys and values in a map of integers in Java by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by importing the necessary classes: java.util.HashMap and java.util.Map.
  2. We declare and initialize a map of integers named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for-each loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Java Program

import java.util.HashMap;
import java.util.Map;

public class SwapMap {
    public static void main(String[] args) {
        // Declare and initialize a map of integers
        Map<Integer, Integer> originalMap = new HashMap<>();
        originalMap.put(1, 10);
        originalMap.put(2, 20);
        originalMap.put(3, 30);
        originalMap.put(4, 40);
        originalMap.put(5, 50);

        // Declare an empty map to store the swapped key-value pairs
        Map<Integer, Integer> swappedMap = new HashMap<>();

        // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
        for (Map.Entry<Integer, Integer> entry : originalMap.entrySet()) {
            swappedMap.put(entry.getValue(), entry.getKey());
        }

        // Print the resulting map
        System.out.println("Swapped map of integers:");
        for (Map.Entry<Integer, Integer> entry : swappedMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

Swapped map of integers:
10: 1
20: 2
30: 3
40: 4
50: 5

2 Swapping Keys and Values in a Map of Strings

We can swap keys and values in a map of strings in Java by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value.

For example,

  1. We start by importing the necessary classes: java.util.HashMap and java.util.Map.
  2. We declare and initialize a map of strings named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for-each loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Java Program

import java.util.HashMap;
import java.util.Map;

public class SwapMap {
    public static void main(String[] args) {
        // Declare and initialize a map of strings
        Map<String, String> originalMap = new HashMap<>();
        originalMap.put("one", "uno");
        originalMap.put("two", "dos");
        originalMap.put("three", "tres");
        originalMap.put("four", "cuatro");
        originalMap.put("five", "cinco");

        // Declare an empty map to store the swapped key-value pairs
        Map<String, String> swappedMap = new HashMap<>();

        // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
        for (Map.Entry<String, String> entry : originalMap.entrySet()) {
            swappedMap.put(entry.getValue(), entry.getKey());
        }

        // Print the resulting map
        System.out.println("Swapped map of strings:");
        for (Map.Entry<String, String> entry : swappedMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

Swapped map of strings:
uno: one
dos: two
tres: three
cuatro: four
cinco: five

3 Swapping Keys and Values in a Map of Mixed Types

We can swap keys and values in a map with mixed key and value types in Java by iterating over the original map and inserting each key-value pair into a new map with the value as the key and the key as the value. This example demonstrates swapping keys of type int with values of type String.

For example,

  1. We start by importing the necessary classes: java.util.HashMap and java.util.Map.
  2. We declare and initialize a map with mixed types named originalMap.
  3. We declare an empty map named swappedMap to store the swapped key-value pairs.
  4. We iterate over the original map using a for-each loop and insert each key-value pair into the new map with the value as the key and the key as the value.
  5. We print the resulting map to the console to verify the swap.

Java Program

import java.util.HashMap;
import java.util.Map;

public class SwapMap {
    public static void main(String[] args) {
        // Declare and initialize a map with mixed types
        Map<Integer, String> originalMap = new HashMap<>();
        originalMap.put(1, "one");
        originalMap.put(2, "two");
        originalMap.put(3, "three");
        originalMap.put(4, "four");
        originalMap.put(5, "five");

        // Declare an empty map to store the swapped key-value pairs
        Map<String, Integer> swappedMap = new HashMap<>();

        // Iterate over the original map and insert each key-value pair into the new map with the value as the key and the key as the value
        for (Map.Entry<Integer, String> entry : originalMap.entrySet()) {
            swappedMap.put(entry.getValue(), entry.getKey());
        }

        // Print the resulting map
        System.out.println("Swapped map of mixed types:");
        for (Map.Entry<String, Integer> entry : swappedMap.entrySet()) {
            System.out.println(entry.getKey() + ": " + entry.getValue());
        }
    }
}

Output

Swapped map of mixed types:
one: 1
two: 2
three: 3
four: 4
five: 5

Summary

In this tutorial, we learned How to Swap Keys and Values in a Map in Java language with well detailed examples.




More Java Maps Tutorials

  1. How to create an Empty Map in Java ?
  2. How to create a Map with Initial Key-Value Pairs in Java ?
  3. How to Print a Map in Java ?
  4. How to Add a Key-Value Pair to a Map in Java ?
  5. How to Set a Default Value for a Key in a Map in Java ?
  6. How to Update the Value for a Key in a Map in Java ?
  7. How to Check if a Map is Empty in Java ?
  8. How to Check if a Key Exists in a Map in Java ?
  9. How to Check if a Value Exists in a Map in Java ?
  10. How to Get the Value Associated with a Key in a Map in Java ?
  11. How to Remove a Key-Value Pair from a Map in Java ?
  12. How to Remove Key-Value Pairs from a Map Based on Values in Java ?
  13. How to Clear All Key-Value Pairs from a Map in Java ?
  14. How to Iterate Over Keys in a Map in Java ?
  15. How to Iterate Over Values in a Map in Java ?
  16. How to Iterate Over Entries (Key-Value Pairs) in a Map in Java ?
  17. How to Get the Size (Number of Key-Value Pairs) of a Map in Java ?
  18. How to Convert a Map to an Array of Keys in Java ?
  19. How to Convert a Map to an Array of Values in Java ?
  20. How to Merge Two Maps in Java ?
  21. How to Copy a Map in Java ?
  22. How to Check if Two Maps are Equal in Java ?
  23. How to Sort a Map by Keys in Java ?
  24. How to Sort a Map by Values in Java ?
  25. How to Filter a Map Based on Keys in Java ?
  26. How to Filter a Map Based on Values in Java ?
  27. How to Reduce Values in a Map to a Single Value in Java ?
  28. How to Convert an Array of Key-Value Pairs to a Map in Java ?
  29. How to Convert a Map to a JSON String in Java ?
  30. How to Convert a JSON String to a Map in Java ?
  31. How to Swap Keys and Values in a Map in Java ?
  32. How to Create a Map of Maps in Java ?
  33. How to Iterate Over a Map of Maps in Java ?