java每个数组表示一个位模式
我目前正在尝试实现可扩展哈希。它将使用bucket存储从文本文件中获取的ID。每个id(即10111)将进入一个具有固定大小的桶中。每个bucket将是一个节点数组。我最大的问题是,我试图确定每个桶将如何用位模式表示。例如:
000
001
010
011
100
101
110
111
每个存储桶将代表(至少1个)上述位模式。如果一个存储桶达到了它能容纳的最大值(这是一个固定的大小),并且需要放入其他东西,那么位模式将增加1位,因此它现在将是0000、0001、0010。。。等
从本质上讲,我只是很困惑如何让每个bucket表示至少一个位模式,以便我可以将每个id与每个bucket的位模式进行比较,并为其找到合适的位置
# 1 楼答案
尽量使每个桶代表一个唯一的数字。可以从0开始,递增1。这个数字是以10为基数的整数。但是通过将bucket模式转换为二进制来保存它
如果你需要把它转换回二进制,你可以这样做
# 2 楼答案
您可以只使用整数来表示ID。您可以使用
Integer.toBinaryString(myId);
将它们与文本文件中的位字符串进行比较