zoukankan      html  css  js  c++  java
  • 0017 Java学习笔记-集合-集合一般:HashSet和HashMap

    几个概念

    • 桶(bucket):hash表里可以存储元素的位置
    • hash冲突:equals()返回false的不相等对象的hashCode()值相等,意味着一个bucket要放几个元素
    • 容量(capacity):hash表中桶(bucket)的数量
    • 初始化容量(initial capacity):创建一个hash表时的桶的数量,默认是16,可以指定
    • 尺寸(size):当前hash表中记录的数量
    • 负载因子(load factor):负载因子=size/capacity。
    • 负载极限:负载因子所能达到的最大值,默认的负载极限是0.75
    • rehashing:hash表的容量发生变化后,重新分配各元素在hash表中的位置

    机制与性能:

    • 同一个bucket里的元素,按链表形式存储
    • 当负载因子达到负载极限时,capacity会自动成倍增加,并重新分配已有元素的存储位置,这会导致性能下降,如果要一次存入大量元素,应指定capacity,防止频繁的rehashing降低性能
    • 负载极限小,占用的内存空间大,能提高数据的查询性能,
    • 负载极限大,占用的内存空间小,但会增加查询数据的时间开销,不只是get,put也需要查询,
  • 相关阅读:
    Win32.Dfcsvc.A
    清除“熊猫烧香”(Worm.WhBoy.h、尼姆亚、FuckJacks)
    个人网站如何提高网站的Google PR值
    ROSE病毒
    vc二进制数值字符相互转换
    全flash站制作剖析
    C#.NET 中的类型转换
    .net开发常用工具
    xflash里的hello world程序
    什么是XHTML
  • 原文地址:https://www.cnblogs.com/sonng/p/6065850.html
Copyright © 2011-2022 走看看