首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >LevelDB的默认比较器

LevelDB的默认比较器
EN

Stack Overflow用户
提问于 2014-05-08 04:09:51
回答 1查看 838关注 0票数 4

我用的是LevelDB 从爪哇经JNI

我希望提供一个数字(整数)键,并能够按该键的顺序迭代db。我遇到困难的地方是理解LevelDb的默认比较器是如何工作的,以及如何将int编码到byte[]中,从而使默认的比较器按照该int正确排序。

LevelDb文档声明:

前面的示例使用了键的默认排序函数,该函数按字母顺序排列字节。

我已经在谷歌上搜索过,但是对于如何将int编码成按顺序排列的字节,我感到很困惑。

注意:如果我提供我自己的比较器,它大约是迭代时间的两倍,因为现在所有的比较都必须在JNI边界上来回跳,所以我不想这样做。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-08 06:33:33

此编码工作:

代码语言:javascript
复制
public synchronized static byte[] encode(int key) {
        encoded[0] = (byte)(key >> 24);
        encoded[1] = (byte)(key >> 16);
        encoded[2] = (byte)(key >> 8);
        encoded[3] = (byte)(key);
        return encoded;
    }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23532591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档