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);
}
随便写了写,肯定不是最好的
------解决方案--------------------
楼上算法已经可以了
------解决方案--------------------
还真有愿意替人做作业的