SORU
5 HAZİRAN 2012, Salı


HashMap yük faktörünün önemi nedir?

HashMap iki önemli özellikleri vardır: boyut ve yük faktörü. Java belgeleri inceledim ve 0.75 f ilk yük faktörü olduğunu söylüyor. Ama gerçek kullanım bulamıyorum. Biri yük faktörü koymalıyız farklı senaryolar ve farklı durumlar için bazı örnek ideal değerler ne anlatabilir?

CEVAP
5 HAZİRAN 2012, Salı


documentation çok iyi açıklıyor:

HashMap örneği performansını etkileyen iki parametre vardır: başlangıç kapasitesi ve yük faktörü. Kapasite tablosunda bölüm sayısını ve ilk kapasite sadece karma tablo oluşturulduğunda kapasitesidir. Yük faktörü ne kadar dolu karma tablo kapasitesini otomatik olarak arttırılır önce almak için izin verilir bir ölçüsüdür. Ne zaman giriş sayısı olarak karma tablo aşıyor ürünün yük faktörü ve akım kapasitesi, karma tablo gerekmektedir (yani, iç veri yapıları yeniden inşa), böylece karma bir tablo var yaklaşık iki katı sayıda kovalar.

Genel bir kural olarak, varsayılan yük faktörü (.75) zaman ve mekan maliyeti arasında iyi bir değiş tokuş bulunmaktadır. Uzay yükü azaltmak ama arama maliyeti (HashMap sınıfı, ve dahil olmak üzere operasyonların en yansıyan) artış yüksek değerler. Haritada girişleri ve yük faktörü sayısı beklenen ödeme işlemleri sayısını en aza indirmek için ilk kapasitesinin, ayarı dikkate alınmalıdır. Eğer ilk kapasite girişleri yük faktörü bölü sayısı büyükse, hiçbir ödeme işlemleri şimdiye kadar ortaya çıkar.

Tüm performans iyileştirmeleri gibi, zamanından önce bir şeyler (yani sorunları olduğu hakkında sağlam bilgi olmadan) optimize önlemek için iyi bir fikirdir.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Keith Anthe

    Keith Anthe

    26 NİSAN 2011
  • Rachel Raum

    Rachel Raum

    10 EYLÜL 2007
  • THE RED DRAGON

    THE RED DRAG

    6 ŞUBAT 2009