深入Java----集合----BitSet
2023-09-14 08:57:00 时间
BitSet类
大小可动态改变, 取值为true或false的位集合。用于表示一组布尔标志。
java中有三种移位运算符
<< : 左移运算符,num << 1,相当于num乘以2
>> : 右移运算符,num >> 1,相当于num除以2
>>> : 无符号右移,忽略符号位,空位都以0补齐
为什么java中1L<<32等于4294967296,而1<<32等于1
你需要了解整数的二进制存储形式以及移位运算的基本操作 对于int类型的整数移位a<<b,系统先用b对32求余,得到的结果才是真正移位的位数 对于long类型的整数移位,同上,不过是对64求余 对于1L<<32,实际移动位数32%64=32 对于1<<32,实际移动位数32%32=0 1L:
0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0001 1L<<32:0000 0000 0000 0000 0000 0000 0000 0001 0000 0000 0000 0000 0000 0000 0000 0000 = 2^32 = 4294967296 1:
0000 0000 0000 0000 0000 0000 0000 0001 1<<32:0000 0000 0000 0000 0000 0000 0000 0001 = 1
words[wordIndex] |= (1L << bitIndex);
相当于对bitIndex对64进行取余运算(左移会轮循),然后让1移动到数组的该余数位置,再将此值设置为true
相关文章
- 深入java面向对象五:Java的内存管理
- Java基础__Java中自定义集合类
- Java List集合深入学习
- 【Java】java扩展机制SPI 实现
- java:集合输出之foreach输出三
- java实现不连续处断开
- java实现第四届蓝桥杯颠倒的价牌
- Java实现 蓝桥杯VIP 算法提高 师座操作系统
- Java实现 蓝桥杯VIP 算法训练 星际交流
- Java实现 蓝桥杯VIP 算法训练 集合运算
- Java 蓝桥杯 算法训练 字符串的展开 (JAVA语言实现)
- 【JAVA秒会技术之秒杀面试官】秒杀Java面试官——集合篇(一)
- 【JAVA】毕向东Java基础视频教程-笔记
- JAVA集合泛型,类型擦除,类型通配符上限之类的知识点
- java集合(ArrayList,Vector,LinkedList,HashSet,TreeSet的功能详解)
- 深入理解JAVA虚拟机--Idea远程执行本地Java代码
- 【面试题】Java集合
- 普通Java对象怎么计算大小(字节长度)?
- Java集合和数组的区别
- 【蓝桥杯Java_C组·从零开始卷】第八节、集合——list详解(ArrayList、 LinkedList 和 Vector之间的区别)
- 【Java用法】java 8两个List集合取交集、并集、差集、去重并集
- 详解jvm之java类加载机制和类加载器(ClassLoader) 深入理解Java类加载器(ClassLoader) 如何自定义类加载器 深入说明双亲委派 双亲委派模型的破坏者-线程上下文类加载器
- Java---25---集合框架共性方法
- JAVA多线程与并发学习总结
- JAVA学习第十九课(java程序的异常处理 (二))
- java面试题:Linux
- JAVA集合类(代码手写实现,全面梳理)