2013-10-28 65 views
-5

我有一個String[] arr,我想從Map獲得一個數組。 我該怎麼做?像清單一樣?我如何從地圖製作陣列

Map<String, Long> map = new HashMap<String. Long>(); 
String[] arr; 
int size; 
size = map.size(); 
arr = String.valueOf(size); 

我需要的元素的總數在地圖

+3

數組是什麼,鍵? (假設這是代碼中的字符串類型) – kosa

+0

要獲取鍵和值的集合,請使用'keySet()'和'values()'方法。請參閱'Collection'的JavaDoc以瞭解如何將其傳輸到數組。 –

+0

我想要'map.size();' – gmendes

回答

3

取決於如果你想要一個數組你的Set)的,或你的List)的。

您也可以從ListSet中閱讀toArray javadoc。

final Map<String, Long> map = new HashMap<>(); 

final String[] keyArr = map.keySet().toArray(new String[map.keySet().size()]); 
final Long[] valArr = map.values().toArray(new Long[map.values().size()]); 

編輯:

好吧...所以...鑑於你最新的修改,這是你在找什麼?

String[] arr = new String[map.size()]; 

很難猜出你需要什麼。

+0

我不明白你的解決方案。我需要在我的情況下使用Long Long – gmendes

+1

這聽起來像您可能需要放慢一點,並更精確地考慮您的需求。您需要從地圖獲取_what_數組?你爲什麼在評論中說你想得到'map.size()'?你需要什麼?否則很難回答這個問題。 – yshavit

+0

我編輯我的問題,應該澄清 – gmendes

0

閱讀javadoc。

map.keySet()。toArray();

0

String[] arr = new String[map.size()];作品 String[] Arr = map.keySet().toArray(new String[map.keySet().size()]);也是如此。