Java: Initialization and anonymous initialization methods of Map and List

Map initialization

Method 1: Regular initialization

Map<String, Object> map = new HashMap<>();
map.put("name", "Tom");
map.put("age", 18);

System.out.println(map);
// {name=Tom, age=18}

Method 2: Anonymous inner class initialization

Map<String, Object> map = new HashMap<String, Object>() {
    
    
    {
    
    
        put("name", "Tom");
        put("age", 18);
    }
};

System.out.println(map);
// {name=Tom, age=18}

illustrate:

  • The first level of brackets actually defines an anonymous inner class (Anonymous Inner Class)
  • The second level of brackets is actually an instance initializer block, which is executed when the internal anonymous class is constructed.

List initialization

Method 1: Regular initialization

List<String> list = new ArrayList<>();
list.add("A");
list.add("B");
list.add("C");

System.out.println(list);
// [A, B, C]

Method 2: Anonymous inner class initialization

List<String> list = new ArrayList<String>() {
    
    
    {
    
    
        for (int i = 0; i < 10; i++) {
    
    
            add("A" + i);
        }
    }
};

System.out.println(list);
// [A0, A1, A2, A3, A4, A5, A6, A7, A8, A9]

Method three: Arrays initialization

List<String> list = Arrays.asList("A", "B", "C");

System.out.println(list);
// [A, B, C]

Reference article

Guess you like

Origin blog.csdn.net/mouday/article/details/134980720