SORU
22 Temmuz 2010, PERŞEMBE


Bir Liste olmadığını kontrol etmek için bir yol< hızlı;Dize> benzersiz bir Dize içerir

Temelde yaklaşık 1.000.000 dizeleri, bir Dize listesine ait verme sorumluluğu var, her istek için var.

Performansı hakkında endişeliyim, ne en iyi yöntem? 0**? Karma?

CEVAP
22 Temmuz 2010, PERŞEMBE


En iyi bahis eğer bir dize contains() yöntemi ile kümesi varsa HashSet ve bir kontrol kullanmak. HashSets Nesne yöntemleri hashCode() equals() kullanımı yoluyla hızlı erişim için inşa edilir. HashSet Devletler için Javadoc:

Bu sınıf, temel işlemleri (ekleme, kaldırma içerir ve boyutu), sürekli performans sunar

Değeri hashCode yöntemi tarafından döndürülen bir nesne içinde saklı olan belirleyecek olan stores objects in hash buckets HashSet. Bu şekilde, HashSet equals() yöntemi ile gerçekleştirilecek olan eşitlik Çek miktarı aynı karma demet sadece diğer Nesneler için azalır.

HashSets ve HashMaps etkin bir şekilde kullanmak, equals hashCode sözleşme in the javadoc ana hatlarıyla uymak zorundasın. java.lang.String durumunda bu yöntemler, zaten bunu yapmak için uygulanmıştır.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Bryan Smith

    Bryan Smith

    12 Mart 2006
  • LiveForGodsKingdom

    LiveForGodsK

    6 NİSAN 2008
  • Kanál používateľa McsFuego

    Kanál použ

    12 EKİM 2011