Jakie jest najlepsze wdrożenie tej metody biblioteki ogólnego zastosowania?Proste puzzle Java Map
public static <K, V> boolean containsEntry(
Map<K, V> map, K key, V value) {}
Kryteria oceniania tej zagadki, jak w większości zagadek kodowania, są w następującej kolejności:
- Kompletność
- Poprawność
- Wydajność
- Beauty
- Otrzymanie wkładu PayPal
EDIT:
Cóż, ponieważ został zamknięty, równie dobrze mogę pisać odpowiedź. Myślę, że jest to prawdopodobnie optymalny:
V valueForKey = map.get(key);
return (valueForKey == null)
? value == null && map.containsKey(key)
: valueForKey.equals(value);
Sprytny prostym rozwiązaniem byłoby:
return map.entrySet().contains(
new AbstractMap.SimpleImmutableEntry<K, V>(key, value));
To nie przeznaczyć instancji, ale daje wdrożenie mapa trochę więcej okazji do zrobienia czegoś optymalny.
"Istnieje co najmniej jedna najlepsza odpowiedź" - Nie, to jest ** jedna ** "najlepsza" odpowiedź z definicji ... – jjnguy
Kevin, jeśli zamierzasz zadawać podobne pytania, musisz ustanowić lepsze reguły. W przeciwnym razie to naprawdę nie jest pytanie, na które można odpowiedzieć w wystarczający sposób. – jjnguy
OK, próbuję. Zobacz edycję. Jestem ciekawy co do twojej najlepszej definicji. Jeśli cztery karty mojego układu pokerowego to 2 trefl, 3 trefl, as pik, asa kier, jaka jest najlepsza piąta karta jaką mogłem mieć? –