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

  • BASS212M

    BASS212M

    15 Temmuz 2009
  • SalGames2016

    SalGames2016

    17 Kasım 2012
  • Toddler Fun Learning

    Toddler Fun

    8 ŞUBAT 2013