2012-08-03 91 views
3

我想將Map的所有鍵/值添加到二維數組中。如何將映射轉換爲java中的二維數組?

有沒有人知道更好的方法? 我做了如下,但我尋找更好的方法。

Map<String, String> memoMap = AvoCollection.getMemoMap(); 
    String[][] data = new String[memoMap.size()][2]; 
    int ii =0; 
    for(Map.Entry entry : memoMap.entrySet()){ 
     data[ii][0] = entry.getKey().toString(); 
     data[ii][1] = entry.getValue().toString(); 
     ii++; 
    } 
    final DefaultTableModel model = new DefaultTableModel(data,new String[]{"Memo","ID"}); 

回答

6

這可能是稍微好一些,但不是很多:

Map<String,String> memoMap = AvoCollection.getMemoMap(); 
String[][] data = new String[memoMap.size()][]; 
int ii =0; 
for(Map.Entry<String,String> entry : memoMap.entrySet()){ 
    data[ii++] = new String[] { entry.getKey(), entry.getValue() }; 
} 
final DefaultTableModel model = new DefaultTableModel(data,new String[]{"Memo","ID"}); 

聲明Map.Entry<String,String>後,你可以停止調用toString;您還可以創建一個具有聚合的雙元素數組。

+0

+1同樣的想法;) – 2012-08-03 13:39:55

相關問題