Initialize a static Map in Java using Double Brace Initialization

In this article, a static map is created and initialised in Java using Double Brace Initialization.

Static Map in Java
A static map is a map which is defined as static. It means that the map becomes a class member and can be easily used using class.

Double Brace Initialization
In Double Brace Initialization:



  • The first brace creates a new Anonymous Inner Class. These inner classes are capable of accessing the behaviour of their parent class. So, in our case, we are actually creating a subclass of HashMap class, so this inner class is capable of using put() method.
  • The second braces are instance initializers. The code an instance initializers inside is executed whenever an instance is created.

Approach:

  • Pass the map values as Key and Value pair in the Double braces.
  • A static factory Map instance is returned.
  • Store it in Map and use.

Below is the implementation of the above approach:

Example 1:

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to create a static map
// using Double Brace Initialization
  
import java.util.*;
  
class GFG {
  
    // Declaring and instantiating the static map
    // using Double Brace Initialization
    private static Map<String, String> map
        = new HashMap<String, String>() {{
            put("1", "GFG");
            put("2", "Geek");
            put("3", "GeeksForGeeks");
        }};
  
    // Driver code
    public static void main(String[] args)
    {
        System.out.println(map);
    }
}

chevron_right


Output:

{1=GFG, 2=Geek, 3=GeeksForGeeks}

Example 2: To show with 10 key-value pairs

filter_none

edit
close

play_arrow

link
brightness_4
code

// Java program to create a static map
// using Double Brace Initialization
  
import java.util.*;
  
class GFG {
  
    // Declaring and instantiating the static map
    // using Double Brace Initialization
    private static Map<String, String> map
        = new HashMap<String, String>() {{
            put("1", "GFG");
            put("2", "Geek");
            put("3", "GeeksForGeeks");
            put("4", "G");
            put("5", "e");
            put("6", "e");
            put("7", "k");
            put("8", "s");
            put("9", "f");
            put("10", "o");
        }};
  
    // Driver code
    public static void main(String[] args)
    {
        System.out.println(map);
    }
}

chevron_right


Output:

{1=GFG, 2=Geek, 3=GeeksForGeeks, 4=G, 5=e, 6=e, 7=k, 8=s, 9=f, 10=o}

Related Articles:



My Personal Notes arrow_drop_up

Check out this Author's contributed articles.

If you like GeeksforGeeks and would like to contribute, you can also write an article using contribute.geeksforgeeks.org or mail your article to contribute@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.

Please Improve this article if you find anything incorrect by clicking on the "Improve Article" button below.


Article Tags :
Practice Tags :


Be the First to upvote.


Please write to us at contribute@geeksforgeeks.org to report any issue with the above content.