每个数组代表一个位模式

时间:2013-11-26 00:16:52

标签: java

我目前正在尝试实现可扩展哈希。它将使用存储桶来存储从文本文件中获取的ID。每个id(即10110110111)将进入具有固定大小的桶。每个存储桶都是一个节点数组。我的大问题是我试图确定每个桶如何用位模式表示。例如:

000
001
010
011
100
101
110
111

每个桶将代表(至少1个)上述位模式。如果一个桶达到了它可以容纳的最大值(这是一个固定的大小),而其他东西需要进入其中,那么位模式将增加1位,所以它现在将是0000,0001,0010 ......等等/ p>

基本上,我很困惑的是如何让每个桶代表至少一个位模式,以便我可以将每个id与每个桶的位模式进行比较,并找到适合它的位置。

2 个答案:

答案 0 :(得分:0)

您可以使用整数来表示ID。您可以使用Integer.toBinaryString(myId);将它们与文本文件中的bitstring进行比较。

答案 1 :(得分:0)

尝试让每个桶代表一个唯一的数字。可以从0开始并递增1.此数字将是基数为10的整数。但是通过将桶模式转换为二进制来保存它。

Integer.toString(x, 2) 

如果你需要将它转换回二进制,你可以这样做

Integer.valueOf(binary_value, 2)