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=01L: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 = 42949672961: 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

转载于:https://www.cnblogs.com/0xcafedaddy/p/6431505.html

深入Java----集合----BitSet相关推荐

  1. 死磕Java集合之BitSet源码分析(JDK18)

    死磕Java集合之BitSet源码分析(JDK18) 文章目录 死磕Java集合之BitSet源码分析(JDK18) 简介 继承体系 存储结构 源码解析 属性 构造方法 set(int bitInde ...

  2. java集合——遗留的集合

    [0]README 0.1) 本文描述转自 core java volume 1, 源代码为原创,旨在理解 java集合--遗留的集合 的相关知识: 0.2) for full source code ...

  3. Java集合(六):专用集合和遗留类

    本文是<Java核心技术 卷1>中第13章的读书总结. Java集合类库中除了前面几节中介绍的8个类之外,还有6个专用集与专用映射表,4个Java一开始就存在的类.这节将简单介绍一下这些集 ...

  4. Java 集合框架详解

    1.集合框架的设计目标 该框架必须是高性能的.基本集合(动态数组,链表,树,哈希表)的实现也必须是高效的. 该框架允许不同类型的集合,以类似的方式工作,具有高度的互操作性. 对一个集合的扩展和适应必须 ...

  5. java集合入门和深入学习,看这篇就差不多了

    一.集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map:两者的区别: 1.Collection是单列集合:Map是双列集合 2.Collection中只有Set系列要 ...

  6. java集合入门和深入学习

    一.集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map:两者的区别: 1.Collection是单列集合:Map是双列集合 2.Collection中只有Set系列要 ...

  7. 深入学习理解Java集合

    一.集合入门总结 集合框架: Java中的集合框架大类可分为Collection和Map:两者的区别: 1.Collection是单列集合:Map是双列集合 2.Collection中只有Set系列要 ...

  8. 深入理解Java集合框架

    Java集合实现了常用数据结构,是开发中最常用的功能之一. Java集合主要的功能由三个接口:List.Set.Queue以及Collection组成. 常见接口: List : 列表,顺序存储,可重 ...

  9. Java集合Collection源码系列-ArrayList源码分析

    Java集合系列-ArrayList源码分析 文章目录 Java集合系列-ArrayList源码分析 前言 一.为什么想去分析ArrayList源码? 二.源码分析 1.宏观上分析List 2.方法汇 ...

  10. Java 集合深入理解(12):古老的 Vector

    点击查看 Java 集合框架深入理解 系列, - ( ゜- ゜)つロ 乾杯~ 今天刮台风,躲屋里看看 Vector ! 都说 Vector 是线程安全的 ArrayList,今天来根据源码看看是不是这 ...

最新文章

  1. 蓝桥 算法训练 P0505
  2. 如何高效搜索汪子熙公众号发表的文章
  3. OC中的基本容器和基本数据类型
  4. windows7怎么升级10_还有一个月微软就停止支持Win 7系统了,再不升级等同裸奔
  5. java安装找不到uri,【找不到与请求 URI匹配的 HTTP 资源】(转)
  6. L1-048 矩阵A乘以B-PAT团体程序设计天梯赛GPLT
  7. redis如何实现分布式重入锁
  8. 传输层的几个部分的ALCAP、SSCOP、MTP3-B、SCCP、SAAL、SCCF、STC、IP、UDP、GTPU
  9. 《电路分析导论(原书第12版)》一词汇表
  10. 曲面上的测地线 MATLAB,§6曲面上的测地线.PDF
  11. 据当前时间获取本学期周次
  12. while循环是否加分号
  13. 「Python海龟画图」利用海龟画笔绘制奥运五环
  14. 一生当修炼这十样品质
  15. 抖音V1.7.9调研报告
  16. 提升社群转化率?3大步骤、6大技巧详解
  17. Kotlin - 改良观察者模式
  18. 【基金学习】小白基金学习记录(一)
  19. 云宏WinCloud前端工程师告诉你什么是UI扁平化
  20. 解决小程序-wx.canvasGetImageData()-RGB取色盘苹果手机获取颜色慢问题

热门文章

  1. 完美实现Crysis道路系统,发图纪念一下
  2. 小鹏汽车自动驾驶内推(社招+校招)
  3. 自动特征工程、NAS、超参调优和模型压缩,微软开源的NNI一库搞定!
  4. 【项目合作】低清老视频转高清,视频超分辨
  5. 阿里巴巴提出Auto-Context R-CNN算法,刷出Faster RCNN目标检测新高度
  6. 英伟达3080Ti、3070Ti来了!
  7. C++调用Python脚本函数
  8. android冒烟测试自动化,安卓自动化测试总结(五)——测试结果发送及内容展示...
  9. mysql 中序号要怎么写_如何在mysql的字段ID中插入自动编号?
  10. crontab 执行时间与系统时间不一致问题解决