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

  • Android Central

    Android Cent

    13 Kasım 2008
  • How to Cook ?

    How to Cook

    31 Ocak 2007
  • metagamers

    metagamers

    13 Mayıs 2006