当前位置:   article > 正文

Java 集合的加载因子

java集合的加载因子

HashSet()的一个构造方法,看注释说其中0.75代表的是默认的加载因子

public HashSet(Collection<? extends E> c) {
    map = new HashMap<>(Math.max((int) (c.size()/.75f) + 1, 16));
    addAll(c);
}

加载因子是表示Hsah表中元素的填满的程度.

若:加载因子越大,填满的元素越多,好处是,空间利用率高了,但:冲突的机会加大了.

反之,加载因子越小,填满的元素越少,好处是:冲突的机会减小了,但:空间浪费多了.

 

冲突的机会越大,则查找的成本越高.反之,查找的成本越小.因而,查找时间就越小.

因此,必须在 "冲突的机会"与"空间利用率"之间寻找一种平衡与折衷. 这种平衡与折衷本质上是数据结构中有名的"时-空"矛盾的平衡与折衷.

原文链接:https://blog.csdn.net/suyu_yuan/article/details/52708725

转载于:https://www.cnblogs.com/runwithraining/p/11520888.html

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/227367
推荐阅读
相关标签
  

闽ICP备14008679号