3

Map のすべてのキー/値を 2 次元配列に追加したいと考えています。

より良い方法を知っている体はありますか? 私は以下のようにしましたが、より良い方法を探しています。

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

2 に答える 2

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。集約を使用して 2 要素の配列を作成することもできます。

于 2012-08-03T13:38:12.590 に答える
1

あなたはグーグルからグアバライブラリを使用するために開いていますか?http://code.google.com/p/guava-libraries/wiki/NewCollectionTypesExplained。次に、配列に簡単に変換できるキーと値のセットを返すMultiMapを使用してみることができます。クールな機能がたくさんあるこのライブラリを調べてみてください。

于 2012-08-03T13:43:50.197 に答える