SORU
30 Ocak 2013, ÇARŞAMBA


Java kullanarak Göster.() containsKey göster kullanırken gereksiz.()

Ben merak için biraz zaman ister. izin verilen içinde en iyi uygulama kaçınmalıdır kullanarak containsKey() yöntem java.util.Map ve yerine boş bir kontrol sonucu get().

Benim gerekçem gereksiz değeri iki kez - ilk get() containsKey() için ve daha sonra arama yapmak gibi görünüyor.

Diğer taraftan olabilir bu en standart uygulamaları Map önbellek son arama veya derleyici olabilir, yoksa uzakta olan fazlalık ve bunun için okunabilirlik kodu olduğunu tercih sürdürmek containsKey() parçası.

Çok yorumlarınızı takdir ediyorum.

CEVAP
30 Ocak 2013, ÇARŞAMBA


Bazı uygulamaları Göster izin için boş değerler, örneğin HashMap, bu durumda eğer get(key) döner null değil garantisi yok giriş harita ile ilgili bu anahtar.

Eğer öyleyse, eğer bir harita anahtarı varsa öğrenmek istiyorsan Map.containsKey kullanın. Sadece bir değer 10 ** anahtar kullanmak eşlenen gerekiyorsa. Map.containsKey faydasız olacaktır ve performansını etkiler. Ayrıca, eş zamanlı erişim için bir harita (örneğin ConcurrentHashMap), sonra test Map.containsKey(key) şans giriş yapacak başka bir iş parçacığı tarafından kaldırıldı aramadan önce Map.get(key).

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Commander Chalkboard

    Commander Ch

    20 Ocak 2014
  • MandMEvangelists

    MandMEvangel

    28 Ocak 2008
  • ŠĩŗĜŕôŵåɭȍҭҭ

    ŠĩŗĜŕô

    29 Kasım 2009