import java.util.Map;
import java.util.Set;
import java.util.HashMap;
import java.util.HashSet;
public class MyClass
{
public static <K, V> Set<K> GetKeys(Map<K, V> mp, V value) {
Set<K> keys = new HashSet<>();
for (Map.Entry<K, V> entry: mp.entrySet()) {
if (value.equals(entry.getValue())) {
keys.add(entry.getKey());
}
}
return keys;
}
public static void main(String[] args)
{
Map<String, Integer> mp = new HashMap();
mp.put("java", 1);
mp.put("c", 1);
mp.put("c++", 2);
mp.put("c#", 1);
mp.put("python", 3);
mp.put("rust", 4);
System.out.println(GetKeys(mp, 1));
}
}
/*
run:
[c#, java, c]
*/