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

  • AginoEvolutionHD

    AginoEvoluti

    27 AĞUSTOS 2011
  • booba1234

    booba1234

    22 Temmuz 2006
  • Dan Gately

    Dan Gately

    13 AĞUSTOS 2006