Return MutilMap 中单键的方法
Return method for single key in MutilMap
public static String getCTScanSite(String val) {
Multimap<String, String> map = HashMultimap.create();
map.put("07", "069");
map.put("01", "073");
map.put("04", "085");
map.put("01", "086");
map.put("96", "099");
map.put("112", "100");
map.put("01", "101");
map.put("109", "102");
map.put("106", "103");
map.put("119", "104");
return map.toString();
}
为了 return String val,我需要使用什么方法?我使用 Multimap 因为我有多个键。至于现在我的输出将 return 所有关键。但我只需要 String val(passing variable).
"ctScanSite": "{01=[073, 086, 101], 04=[085], 05=[112], 07=[069], ...}"
谢谢
我的预期输出应该return单键:
"ctScanSite": "01",
您可以使用 invertFrom
或 Multimaps
并反转您的地图,然后使用 invertedMap 从输入值中获取键。参考如下:
public static String getCTScanSite(String val) {
Multimap<String, String> map = HashMultimap.create();
map.put("07", "069");
map.put("01", "073");
map.put("04", "085");
map.put("01", "086");
map.put("96", "099");
map.put("112", "100");
map.put("01", "101");
map.put("109", "102");
map.put("106", "103");
map.put("119", "104");
Multimap<String, String> invertedMap = Multimaps.invertFrom(map, ArrayListMultimap.<String, String>create());
return invertedMap.get(val);
}
public static String getCTScanSite(String val) {
Multimap<String, String> map = HashMultimap.create();
map.put("07", "069");
map.put("01", "073");
map.put("04", "085");
map.put("01", "086");
map.put("96", "099");
map.put("112", "100");
map.put("01", "101");
map.put("109", "102");
map.put("106", "103");
map.put("119", "104");
return map.toString();
}
为了 return String val,我需要使用什么方法?我使用 Multimap 因为我有多个键。至于现在我的输出将 return 所有关键。但我只需要 String val(passing variable).
"ctScanSite": "{01=[073, 086, 101], 04=[085], 05=[112], 07=[069], ...}"
谢谢
我的预期输出应该return单键:
"ctScanSite": "01",
您可以使用 invertFrom
或 Multimaps
并反转您的地图,然后使用 invertedMap 从输入值中获取键。参考如下:
public static String getCTScanSite(String val) {
Multimap<String, String> map = HashMultimap.create();
map.put("07", "069");
map.put("01", "073");
map.put("04", "085");
map.put("01", "086");
map.put("96", "099");
map.put("112", "100");
map.put("01", "101");
map.put("109", "102");
map.put("106", "103");
map.put("119", "104");
Multimap<String, String> invertedMap = Multimaps.invertFrom(map, ArrayListMultimap.<String, String>create());
return invertedMap.get(val);
}