例如:            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";

解决方案 »

  1.   

    转换出来是没有顺序的 转换成像你这样的二维数组很费劲在给map赋值的时候就同时赋值给这个二维数组吧
      

  2.   


    public static void main(String[] args) {

    Map<String,String> m = new HashMap<String,String>(); 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");

    String[][] arr = converMapToArray(m);
    for(int i = 0 ; i < arr.length ; i++){
    for(int j = 0; j < arr[i].length;j++){
    System.out.print(arr[i][j] + " \t");
    }
    System.out.println();
    } }

    public static String[][] converMapToArray(Map<String,String> map){

    Set<String> keySet = map.keySet();
    String[][] arr = new String[(int) Math.ceil(keySet.size()/5)+1][5];

    arr[0][0]  = "流水号";
    arr[0][1]  = "交易号";
    arr[0][2] = "名字";
    arr[0][3] =  "金额";
    arr[0][4]  = "地址";

    for(int i =0 ; i < Math.ceil(keySet.size()/5) ;i ++){
    //后缀
    String endStr = i==0 ? "" : String.valueOf(i);
    for(int  j=0 ; j<arr[0].length; j++){
    String key = arr[0][j]+ endStr;
    System.out.println(key);
    arr[i+1][j] = map.get(key);
    }
    }
    return arr;

    }试一下吧.
      

  3.   

    怕顺序变 用 LinkedHashMap