栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

RoaringBitmap等工具类的使用,以及搜索算法

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

RoaringBitmap等工具类的使用,以及搜索算法

文章目录

maven引入RoaringBitmap 基本用法,包括文件流其他工具类搜索算法数据库设计
java自带的bitset只提供了基本的功能,不算很强大。所以实际开发中要借助其他类库,例如RoaringBitmap。

RoaringBitmap在方法的丰富性上,以及性能上都有提高。

maven引入

第2个是roaringbitmap,但是一块贴上了啊。


    uk.gov.gchq.gaffer
    bitmap-library
    1.21.1


    org.roaringbitmap
    RoaringBitmap
    0.9.22


RoaringBitmap 基本用法,包括文件流
public static void main(String[] args) throws Exception{
    String filePath="d://bit.txt";
    RoaringBitmap roaringBitmap = new RoaringBitmap ();
    roaringBitmap.add(1);
    roaringBitmap.add(20000);
    serialize(roaringBitmap,filePath);

    RoaringBitmap deserialize = deserialize(filePath);
    // RoaringBitmap 最大的特点就是 带有压缩,例如 添加一个很大的数,基数不会跳跃
    logger.info("getCardinality:{}",deserialize.getCardinality());
}

// 序列化 保存
public static void serialize(RoaringBitmap  roaringBitmap,String filePath) throws IOException {
    roaringBitmap.serialize(new DataOutputStream(new FileOutputStream(filePath)));
}

// 反序列化  读取
public static RoaringBitmap deserialize(String filePath) throws IOException {
    RoaringBitmap  roaringBitmap = new RoaringBitmap ();
    roaringBitmap.deserialize(new DataInputStream(new FileInputStream(filePath)));
    return roaringBitmap;
}
其他工具类

还有很多,如:
ArrayContainer
RunContainer

搜索算法数据库设计

数据库设计可以为

t_bitset
category 大类(如性别,设备类型等)
type 类型(如男、女,android、ios等)
fileName 文件名
filePath 文件路径

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/777721.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号