В общем, насколько это возможно, ничего, кроме Map
.
public static <K,V> K getKey(Map<K,V> map,V val){
for(Map.Entry<K,V> entry:map.entrySet()){
if(entry.getValue().equals(val)){
return entry.getKey();
}
}
return null;
}
Это вернет ключ только первого значения, которое соответствует. Если вы хотите вернуть все ключи для определенного значения, то вы можете изменить этот метод, чтобы накапливать ключи в List
и возвращать его вместо этого.
(Не надейтесь на скорый поиск ...)