如何在java中将地图转换为二维数组?

itr*_*tro 3 java arraylist map

我想将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"});
Run Code Online (Sandbox Code Playgroud)

das*_*ght 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"});
Run Code Online (Sandbox Code Playgroud)

宣告后Map.Entry<String,String>你可以停止打电话toString; 您还可以使用聚合创建一个双元素数组.