我想将Map的所有键/值添加到二维数组中。
有没有人知道更好的方法? 我做了如下,但我寻找更好的方法。
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"});
答案 0 :(得分: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
;您还可以使用聚合创建一个双元素数组。
答案 1 :(得分:1)
您是否愿意从谷歌使用Guava Library。 http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained。然后你可以尝试使用MultiMap,它会返回键和值的集合,可以很容易地转换成数组。尝试查看这个库,它有很多很酷的功能。