当前位置: 代码迷 >> J2SE >> 请问把地图的值放在文字里拼上
  详细解决方案

请问把地图的值放在文字里拼上

热度:26   发布时间:2016-04-23 20:37:14.0
请教把map的值放在文字里拼上

Map<String, Integer[]> map3 = new HashMap<String, Integer[]>();
Integer[] num1 ={2};
Integer[] num2 ={2,21,22,23,24};
Integer[] num3 ={25,26};
Integer[] num4 ={27,28};
map3.put("bjdazbj",num1);
map3.put("bjdjdjs",num2);
map3.put("bjdjfbz",num3);
map3.put("bjdldzs",num4);
Map<String, String> map2 = new HashMap<String, String>();
map2.put("bjdazbj","举办活动 {  } 次");
map2.put("bjdjdjs","1.建设基地:{  } 个;    2.安置人员: {  }人;3.投入资金:{  }万元;4.远程会见室:{  }个。");
map2.put("bjdjfbz","1.拨款:{  }万元;2.使用:{  }万元。;");
map2.put("bjdldzs","召开会议{  }次。召开会议{  }次。");


把map3与mp2相同的key,并map3的数组值相应放在map2里大括号。并放在下面Newmap里。  下面是得到结果:

Map<String, String> Newmap = [{"bjdazbj","举办活动  2  次"},{"bjdjdjs","1.建设基地: 21  个;    2.安置人员:  22 人;3.投入资金: 23 万元;4.远程会见室: 24 个。"},{"bjdjfbz","1.拨款: 25 万元;2.使用: 26 万元。;"},{"bjdldzs","召开会议 27 次。召开会议 28 次。"}]


请高手贴个代码。要交工有点急。得到好结果给分。
------解决方案--------------------

public static void main(String[] args) {
Map<String, Integer[]> map3 = new HashMap<String, Integer[]>();
Integer[] num1 = {
2
};
Integer[] num2 = {
2, 21, 22, 23, 24
};
Integer[] num3 = {
25, 26
};
Integer[] num4 = {
27, 28
};
map3.put("bjdazbj", num1);
map3.put("bjdjdjs", num2);
map3.put("bjdjfbz", num3);
map3.put("bjdldzs", num4);
Map<String, String> map2 = new HashMap<String, String>();
map2.put("bjdazbj", "举办活动 {  } 次");
map2.put("bjdjdjs", "1.建设基地:{  } 个;    2.安置人员: {  }人;3.投入资金:{  }万元;4.远程会见室:{  }个。");
map2.put("bjdjfbz", "1.拨款:{  }万元;2.使用:{  }万元。;");
map2.put("bjdldzs", "召开会议{  }次。召开会议{  }次。");

for (Map.Entry<String, String> entry : map2.entrySet()) {
String value = entry.getValue();
Integer[] num = map3.get(entry.getKey());
for (int i = 0; i < num.length; i ++) {
value = value.replaceFirst("\\{  \\}", num[i] + "");
}
map2.put(entry.getKey(), value);
}

System.out.println(map2);
}


随便写了写,肯定不是最好的
------解决方案--------------------
楼上算法已经可以了
------解决方案--------------------
还真有愿意替人做作业的
  相关解决方案