以下是反转并且替换的效果,根据您的实际需求,自行修改
/**
* @param messageTemplateJson {"{1}":"企业名称","{2}":"试工名称","{3}":"试工时间","{4}":"试工地址","{5}":"联系人","{6}":"联系电话","{7}":"注意事项内容"}
* @return {"企业名称":"%s","试工名称":"%s","试工时间":"%s","试工地址":"%s","联系人":"%s","联系电话":"%s","注意事项内容":"%s"}
*/ String json = "{\"{1}\":\"企业名称\",\"{2}\":\"试工名称\",\"{3}\":\"试工时间\",\"{4}\":\"试工地址\",\"{5}\":\"联系人\",\"{6}\":\"联系电话\",\"{7}\":\"注意事项内容\"}";
TreeMap<String, String> stringStringMap = JSONObject.parseObject(json, new TypeReference<TreeMap<String, String>>() {});
HashBiMap<String, String> stringStringHashBiMap = HashBiMap.create(stringStringMap);
BiMap<String, String> inverse = stringStringHashBiMap.inverse();
String inverseEdStr = JSON.toJSONString(inverse);
System.out.println("inverseEdStr = " + inverseEdStr);
List<String> collect = Stream.iterate(1, i -> i + 1).limit(inverse.size()).collect(Collectors.toList())
.parallelStream().map(i -> "{" + i + "}").collect(Collectors.toList());
System.out.println("collect = " + JSON.toJSONString(collect));
for (String s1 : collect) {
inverseEdStr = inverseEdStr.replace(s1,"%s");
}
System.out.println("s final = " + inverseEdStr);
String format = String.format(inverseEdStr,
"111", "111", "111", "111", "111", "111", "111");
System.out.println("format = " + format);
BiMap<String,String> biMap = HashBiMap.create();
biMap.put("1","Tom");
biMap.put("2","Jerry");
// 放入重复值value 将会报错
// biMap.put("2","Tom");
// 相同Value覆盖前一个
//biMap.forcePut("2","Tom");
System.out.println(biMap);
// key value反转
System.out.println(biMap.inverse());
本文标题:map反转key value
本文链接:https://blog.quwenai.cn/post/2036.html
版权声明:本文不使用任何协议授权,您可以任何形式自由转载或使用。


还没有评论,来说两句吧...