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

  • RomanAtwood

    RomanAtwood

    18 Kasım 2009
  • SavageLuxxxGaming - Daily NBA 2K15 & NBA Live 15 Enjoy And Subscribe!

    SavageLuxxxG

    11 Ocak 2013
  • ThisWeekYT

    ThisWeekYT

    14 Mart 2013