我有一个 BiMap,其中一个字符串作为键,一个字符串数组作为值。现在我正在尝试使用单个字符串(它是值数组的一部分)来获取密钥。
private static BiMap<String, String[]> map = ImmutableBiMap.<String, String[]>builder().build();
static {
map.put("000", new String[] {"CH", "CHE", "Switzerland"});
map.put("001", new String[] {"US", "USA", "United States of America"});
map.put("002", new String[] {"IT", "ITA", "Italy"});
}
在下一个方法中,我试图用“CH”搜索以获得“000”(这不起作用)。
private static String getKey(Map<String,String[]> map, String find) {
Map<String[], String> inversedMap = map.inverse();
if(inversedMap.containsKey() {
return inversedMap.get(find);
}
return null;
}
有没有办法像这样“找到”密钥,没有我需要用这样的数组搜索:String[] find = new String[] {"CH", "CHE", "Switzerland"};
所有的值和键都是唯一的,因此预计只有一个结果。我总是在寻找数组中的第一个值,f.ex。“中国”或“美国”。