`
dextersmake
  • 浏览: 4336 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

java的BitSet类初学

阅读更多

java的BitSet类学习。

 

BitSet bs = new BitSet();

System.out.println("bs.size==" + bs.size());

 

Integer val = 1;

//int的size是4个字节

System.out.println(val.SIZE);

 

bs.set(0, true);

bs.set(1,false);

bs.set(2,true);

bs.set(3,true);

bs.set(4, false);

System.out.println(bs.size());

 

//存放第65个数,由于超过了64,所以自动增加了一倍,变成了最大为128

bs.set(64, true);

System.out.println(bs.size());

 

//存放第129个数,由于超过了128,所以自动增加了一倍,变成了最大为256

bs.set(128, true);

System.out.println(bs.size());

 

//这里打印出了正确的true和false值

System.out.println(bs.get(0));

System.out.println(bs.get(1));

System.out.println(bs.get(2));

System.out.println(bs.get(3));

bs = new BitSet();

//这里所占用的空间就有32*6=192

int[] prodIds = {3, 24, 45, 42, 1, 7};

System.out.println(prodIds.length);

int len = prodIds.length;

for(int i = 0; i < len; i++){

bs.set(prodIds[i], true);

}

//而这里用了64位就表达了上面的数组,在某些算法里面会得到很大的优化,对于数据存放

System.out.println(bs.size());

 

int size = bs.size();

for(int i = 0; i < size; i++){

if(bs.get(i)){

System.out.println(i);

}

}

 

 

打印输出结果:

bs.size==64

32

64

128

256

true

false

true

true

6

64

1

3

7

24

42

45

 

 

总结

BitSet适合用于一些需要用空间换取时间的数据结构,算法。

缺点是不能代表相同的数,比如数组含有两个42时,只能保存一个。

 

分享到:
评论

相关推荐

    javabitset源码-javaewah:JavaBitSet类的压缩替代品

    bitset源码Java 这是 Java Bitset 类的字对齐压缩变体。 我们提供 64 位和 32 位类似 RLE 的压缩方案。 它可用于实现位图索引。 它所依赖的 EWAH 格式用于运行 GitHub 的 git 实现。 字对齐压缩的目标不是实现最佳...

    java bitset 源码解析.rtf

    java bitset 高级数据结构 源码解析 适合 0-3 年开发人员,进阶、面试必备知识!

    浅谈Java BitSet使用场景和代码示例

    主要介绍了浅谈Java BitSet使用场景和代码示例,具有一定借鉴价值,需要的朋友可以参考下。

    javabitset源码-JerrySoundCode:杰瑞声码

    bitset源码Java源码分析 基础集合列表 ArrayList (done) Vector (done) LinkedList (done) Stack (done) ReferenceQueue (done) ArrayDeque (done) Set HashSet (done) TreeSet (done) LinkedHashSet (done) BitSet ...

    javabitset源码-java_master:后端架构师技术图谱

    java bitset 源码 最后更新于20180424 (Toc generated by ) 数据结构 队列 非阻塞队列:ConcurrentLinkedQueue(无界线程安全),采用CAS机制(compareAndSwapObject原子操作)。 阻塞队列:ArrayBlockingQueue(有界...

    javabitset源码-Java8-learning:学习Java8新特性

    bitset 源码 对于Java开发者来说,Java8的版本显然是一个具有里程碑意义的版本,蕴含了许多令人激动的新特性,如果能利用好这些新特性,能够大大提升我们的开发效率。Java8的函数式编程能够大大减少代码量和便于维护...

    BitSet 源码分析.txt

    基于JDK1.8的BitSet 源码分析, 描述了实现的原理 个方法的含义 虽然没有写出实际的测试代码 但是只要是细度了我的这个分析 在使用的时候就不是问题了

    javabitset源码-myleetcode:所有LeetCode问题的记录

    java bitset源码 目前进度(171/237) LeetCode做题笔记 Add two numbers:给定一个数集合和一个数,已知集合中有两个数的和是给定数,求这两个加数的index 方法1:暴力,n^2时间复杂度,不推荐 方法2:快速排序nlogn...

    java 原生包 BitSet 源码

    Java 原生包 BitSet 源码,0~3年 Java 工程师必看,属于高级数据结构,利于进阶,面试必备!

    bitset用法 bitset用法

    bitset用法bitset用法bitset用法bitset用法bitset用法bitset用法

    C语言头文件 BITSET

    C语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC语言头文件 BITSETC...

    动态Bitset源代码

    在C++的STL中实现由一个bitset类模板,其用法如下: std::bitset&lt;64&gt; bs; 也就是说,这个bs只能支持64位以内的位存储和操作;bs一旦定义就不能动态增长了。本资源附件中实现了一个动态Bitset,和标准bitset兼容。 /*...

    javabitset源码-montysolr:Solr天体物理数据系统

    java bitset 源码

    java基础之BitSet - 副本.md

    java基础之BitSet - 副本

    javabitset源码-all-kinds-book:java大数据sparkflinkredishivehbasekafka面试题数据结构

    bitset 源码 all-kinds-book 主要包含 java 大数据 数据仓库 数据分析 第三方组件 面试题 数据结构与算法 设计模式 软件设计 等文档 ,可以访问我们的官网查看更多内容 [人在地上跑 牛在天上飞](#人在地上跑 牛在...

    javabitset源码-Study:学习

    Java中的锁和同步类 公平锁 & 非公平锁 悲观锁 乐观锁 & CAS ABA 问题 CopyOnWrite容器 RingBuffer 可重入锁 & 不可重入锁 互斥锁 & 共享锁 死锁 操作系统 计算机原理 CPU 多级缓存 进程 线程 协程 Linux 设计模式 ...

    javabitset源码-redis-bloomfilter:基于Redis的BloomfilterforJava

    java bitset 源码 redis-bloomFilter redis-bloomFilter是基于redis的bitset实现的bloomfilter.具体原理和实现思路可以参考 使用 redis-bloomFilter发布在JitPack,可以选择下载源码编译,或者通过jitpack源添加依赖...

    javabitset源码-my-jvm-demos:Java/Kotlin演示

    bitset源码 这个仓库主要放一些 Demo 示例 目录 1. Kotlin 实现 IGetInt java 接口的方法示例: public class IGetInt { String get(int i); String get(Integer i); } 2. Java 并发示例 此部分Demo基本用于实现 《》...

    对java的BitSet的多线程并发的探索

    NULL 博文链接:https://huangyunbin.iteye.com/blog/2194731

    javabitset源码-source-code-jdk-8u211:源代码-jdk-8u211

    bitset源码 JAVA 源码研究 使用版本 [jdk-8u211] [环境 IDEA] 构建步骤 1、创建项目结构 rt/ // rt.jar 反编译源码 rtsrc/ // JDK 源码 src/ // 项目源码 2、导入源码 import jdk source of src.zip import jdk ...

Global site tag (gtag.js) - Google Analytics