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

  • dougownsall

    dougownsall

    7 EKİM 2007
  • magnum33563

    magnum33563

    8 NİSAN 2011
  • UlyssesForever's channel

    UlyssesForev

    28 ŞUBAT 2012