Se ho il valore "foo"
, e una HashMap<String> ftw
per cui ftw.containsValue("foo")
ritorna true
, come posso ottenere la chiave corrispondente? Devo fare un loop attraverso l'hashmap? Qual è il modo migliore per farlo?
Non c'è una risposta univoca, perché più chiavi possono mappare allo stesso valore. Se state facendo rispettare l'unicità con il vostro codice, la soluzione migliore è quella di creare una classe che usa due Hashmap per tracciare le mappature in entrambe le direzioni.
Sembra che il modo migliore sia quello di iterare sulle voci usando map.entrySet()
poiché map.containsValue()
probabilmente lo fa comunque.