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