简体   繁体   English

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

[英]How to convert a map to two dimensional array in java?

I want to add all key/value of a Map to a two dimensional array. 我想将Map的所有键/值添加到二维数组中。

Does any body know a better way? 有没有人知道更好的方法? I did as below but i search for a better way. 我做了如下,但我寻找更好的方法。

    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"});

This may be marginally better, but not by much: 这可能稍微好一些,但不是很多:

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"});

After declaring Map.Entry<String,String> you can stop calling toString ; 声明Map.Entry<String,String>您可以停止调用toString ; you can also create a two-element array with an aggregate. 您还可以使用聚合创建一个双元素数组。

Are you open to use Guava Library from google. 您是否愿意从谷歌使用Guava Library。 http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained . http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained Then you can try using MultiMap which will return you the sets for keys and values which can easily be converted into array. 然后你可以尝试使用MultiMap,它会返回键和值的集合,可以很容易地转换成数组。 Try looking into this library it has lots of cool functionals. 尝试查看这个库,它有很多很酷的功能。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM