一.通常方式
//初始化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"));