2012-06-12 92 views
0

我可以使用下面的代碼將Hash-map值分配給List double [],但對於HashMap中的每個條目它正在創建單獨的數組。ArrayList <Hashmap <String,Double []>將值賦給單個Double []

ArrayList<HashMap<String, Double[]>> arl =(ArrayList<HashMap<String, Double[]>>)pd.getArrayList(); 

while (itr.hasNext()) { 
    HashMap< String,Double[]> map = (HashMap<String,Double[]>) itr.next(); 
    empid.add((Double[])map.get("id")); 
} 

如何將所有條目放入double []的單個數組中。

+1

不要輸入你在問題中的簽名。閱讀[faq](http://stackoverflow.com/faq#signatures)。 – adarshr

+3

這裏沒有什麼「被創建」 - 它是一個帶有Double []值的地圖列表,並且你將這些Double []值放入一個數組中。你想要什麼*?如果這與你關於這個問題的其他兩個問題有關,那麼如果你想要一個「Double」,爲什麼你首先使用'Double []'? –

+2

另外,不要假設你的問題的上下文。例如,有人沒有看到你的[上一個問題](http://stackoverflow.com/questions/10993463/how-to-assign-arraylist-hashmapstring-double-to-list)永遠不會明白'empid'手段。 – adarshr

回答

1

你又犯了同樣的錯誤。您需要將Double添加到列表中,而不是Double的數組。因此,類似於我在your previous question說,改變你的代碼是這樣的:

empid.addAll(Arrays.asList(map.get("id")))); 

從列表中得到陣列後的名單完全從地圖值構建:

Double[] arrayOfDoubles = empid.toArray(new Double[]{}); 
+0

感謝maskimov,你爲像我這樣的初學者提供了優雅和簡單的解決方案。謝謝再次 –

+0

爲什麼感謝你!之前沒有人稱我的解決方案優雅:P – maksimov

相關問題