2012-07-30 121 views
4

希望真的很簡單的問題。我想要做這樣的事情:Java創建地圖對象的實例

Map<String, String> temp = { colName, data }; 

colNamedata是字符串變量。

謝謝。

+1

即使它不可用,現在,我相信這將在Java中8降落,除非他們放棄了它,當我沒有注意。 – Joel 2012-07-30 01:40:51

回答

11

地圖是一個接口。創建一個實現它的一個類的實例:

Map<String, String> temp = new HashMap<String, String>(); 
temp.put(colName, data); 

或者,在Java 7:

Map<String, String> temp = new HashMap<>(); 
temp.put(colName, data); 
+0

你能解釋爲什麼在java7中可能嗎? – 2012-07-30 01:33:53

+0

在Java 7中,增加了支持以在某些情況下省略類型。這只是爲了讓代碼更清潔。 – 2012-07-30 01:35:52

1

把條目就創建了一個Map的快捷方式如下(讓我用一個HashMap,因爲我喜歡他們):

Map<String,String> temp = new HashMap<String,String>(){{ 
    put(colName, data); 
}}; 

注意那些以結束分號括號!

雖然的確如此,在Java7中,您通常可以使用diamond operator並寫下類似於Map<String,String> temp = new HashMap<String,String>();的內容,但在將內嵌元素放入Map時無效。換句話說,與編譯器罵你,如果你嘗試以下方法(不要問我爲什麼):

Map<String,String> temp = new HashMap<>(){{ 
    put(colName, data); 
}};