请教MAP转二维数组的方法

例如: Map m = new HashMap();

m.put("流水号", "1");
m.put("交易号", "2");
m.put("名字", "3");
m.put("金额", "4");
m.put("地址", "5");

m.put("流水号1", "A");
m.put("交易号1", "B");
m.put("名字1", "C");
m.put("金额1", "D");
m.put("地址1", "E");

如何转换成 : answer[0][0] = "流水号";
answer[0][1] = "交易号";
answer[0][2] = "名字";
answer[0][3] = "金额";
answer[0][4] = "地址";

answer[1][0] = "1";
answer[1][1] = "2";
answer[1][2] = "3";
answer[1][3] = "4";
answer[1][4] = "5";

answer[2][0] = "A";
answer[2][1] = "B";
answer[2][2] = "C";
answer[2][3] = "D";
answer[2][4] = "E";

[code="java"]
Map m = new HashMap();
m.put("流水号", "1");
m.put("交易号", "2");
m.put("名字", "3");
m.put("金额", "4");
m.put("地址", "5");

m.put("流水号1", "A");
m.put("交易号1", "B");
m.put("名字1", "C");
m.put("金额1", "D");
m.put("地址1", "E");

m.put("流水号2", "a");
m.put("交易号2", "b");
m.put("名字2", "c");
m.put("金额2", "d");
m.put("地址2", "e");

String[][] answer = new String[m.size()/5 + 1][5];
answer[0][0] = "流水号";
answer[0][1] = "交易号";
answer[0][2] = "名字";
answer[0][3] = "金额";
answer[0][4] = "地址";

for(int i = 1; i <= m.size()/5; i++){
answer[i][0] = m.get("流水号" + i);
answer[i][1] = m.get("交易号" + i);
answer[i][2] = m.get("名字" + i);
answer[i][3] = m.get("金额" + i);
answer[i][4] = m.get("地址" + i);
}
[/code]
我只想到这种笨办法,谁有好主意,写出来给大家共享一下