0
点赞
收藏
分享

微信扫一扫

hash取模存放数据-经典的模运算

老王420 2022-03-18 阅读 123


//对hash值进行取模,将hash值路由到指定的内存队列中,比如内存队列大小8
//用内存队列的数量对hash值取模后,结果一定在0~7之间
//所以任何一个商品的id都会被固定路由到同样的一个内存队列中。
public static void main(String[] args) {
int anInt = (int) (Math.random() * 10);
System.out.println("初始的值:"+anInt);
String key = String.valueOf(anInt);
int h;
int hash= (key==null)?0:(h=key.hashCode())^(h>>>16);
//得到的hash值
System.out.println("得到的hash值:"+hash);
// ListSize 容器的大小
int ListSize=20;
int index = (ListSize - 1) & hash;
//要存放的位置
System.out.println("要存放的位置:"+index);
}



hash取模存放数据-经典的模运算_取模



作者:​​三号小玩家​​​,转载请注明原文链接​



举报

相关推荐

0 条评论