HashMap 计算方法为:(n - 1) & hash 具体见putVal
解读:由于n-1高位全部为0 因此(n - 1) & hash只会得到一个小于等于n-1的值,即在桶长度取值范围内
为何不用取余运算,写一段模拟程序,我们来对比下速度:
运行结果:
我们把数字改成5
&位运算速度快于%,缺点:某些奇数如5 时分布不均匀。
联系下另一个方法:tableSizeFor 会将我们传入容量返回为2的倍数。经过实际测试 16 ,32 &位运算比较均匀。
1索引存取方法 索引存取方法就是根据应用要求,确定对应关系的哪些属性列建立索引、哪些属性列建立组合索引、哪些索引要设计为唯一索引等。指导方案有以下几点: 1)如果一个(或一组)属性经常在查询条件中出现,则可将
2聚簇存取方法 为了提高某属性(或属性组)的查询速度,可以将这些属性(称为聚簇码,cluster key)上具有相同值的元组集中
3hash存取方法 有些DBSM提供了hash存取方法,选取hash存取方法的规则如下:
以上就是关于HashMap下标计算详解全部的内容,包括:HashMap下标计算详解、数据库常见的存取方法、等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)