I10 elemanları artar 10 bir başlangıç kapasitesi ve daha sonra her 5 elemanları HashSet
artırılacaktır ilave 0.5 veya birinci HashSet
bir yük faktörü ile ve 15 ° C'de 20 de sonra HashSet
kullanın ATC. kapasite artırılacak mı?HashSet doluluk
cevap
Bu ikinci durumdur. HashSet ve hashMap öğelerinin loadFactor bir göreli faktördür.
Yük faktörü, HashSet'in kapasitesinin otomatik olarak artırılmasından önce ne kadar dolu olduğuna izin vermenin bir ölçüsüdür. Karma tablodaki giriş sayısı yük faktörünün ve akım kapasitesinin ürününü aştığında, karma tablosu yeniden düzenlenir (yani, iç veri yapıları yeniden oluşturulur), böylece karma tablonun yaklaşık olarak iki katı kova sayısı vardır. HashMap Standart başlangıç kapasitesi alır
16 ve yük faktörü (akım haritası boyutu yani% 75) 0.75f olup. Yük faktörü, HashMap kapasitesinin iki katına çıkarılması gerektiğini gösterir. kapasite ve yük faktörü, örneğin bir ürün için
16 * 0.75 = 12. Bu 12. depolanmasıyla sonra bu temsil eder - değer çifti HashMap içine kapasitesi 32
güzel olur !!! Bir süredir bu açıklamayı arıyordum. Öyleyse, varsayılan değer 2/3'dür, yani 12'yi doldurduğumda 16 büyüklüğünde, alanı artıracaktır. – ha9u63ar
Java 7 ve 8 için, HashSet'in varsayılan yük faktörü 0.75'dir. – Kent