List map 初始化方式

一.通常方式

//初始化List
    List<string> list = new ArrayList</string><string>();
    list.add("www.jb51.net");
    list.add("string2");

    //初始化Map
    Map</string><string , String> map = new HashMap</string><string , String>();
    map.put("key1", "value1");
    map.put("key2", "value2");

二.实例化的时候直接初始化:

//初始化List
    List<string> list = new ArrayList</string><string>(){{
    add("string1");
    add("string2");
    }};

    //初始化Map
    Map</string><string , String> map = new HashMap</string><string , String>(){{
    put("key1", "value1");
    put("key2", "jb51.net");
    }};

两个大括号,第一个是 匿名内部类 ,第二个大括号是 实例初始化块 ,类实例化的时候执行

例如:

public class Test {

    /*private static HashMap<String, String> map = new HashMap<String, String>() {
        {
            put("Name", "June");
            put("QQ", "4889983");
        }
    };*/

    public Test() {
        System.out.println("Constructor called:构造器被调用");
    }

    static {
        System.out.println("Static block called:静态块被调用");
    }

    {
        System.out.println("Instance initializer called:实例初始化块被调用");
    }

    public static void main(String[] args) {
        new Test();
        System.out.println("=======================");
        new Test();

    }
}

output:

Static block called:静态块被调用
Instance initializer called:实例初始化被调用
Constructor called:构造器被调用
=======================
Instance initializer called:实例初始化被调用
Constructor called:构造器被调用

 三 . Java7:增加对 collections 的支持

// 现在你还可以:

List<String> list = ["item"];
String item = list[0];
  
Set<String> set = {"item"};
  
Map<String, Integer> map = {"key" : 1};

ArrayList<String> list = new ArrayList(Arrays.asList("Ryan", "Julie", "Bob"));

 

猜你喜欢

转载自feiteyizu.iteye.com/blog/2261683