java 实现 bitarry_java – 我是初学程序员,最近我遇到了一个数据结构BitArray_weixin_39616798的博客-程序员秘密

技术标签: java 实现 bitarry  

我是一名初学程序员,最近我在阅读一本书(编程珍珠,更准确)时遇到了一个数据结构BitArray.我想在BitArray上学习和练习一点,因为我之前并不知道它.我在C#中做了一个简单的实现(比如创建BitArray,设置值等等),但是当我想尝试使用

Java时,它抱怨说BitArray是未知的.所以我在网上搜索并将BitArray更改为BitSet.

BitSet是否相当于Java中的BitArray?

另外,我不太了解BitSet中size()和length()的不同含义.检查以下代码:

public class Sandbox {

public static void main(String argv[])

{

BitSet bitSet1 = new BitSet(16);

bitSet1.set(0);

bitSet1.set(8);

bitSet1.set(15);

displayBitSet(bitSet1);

}

static void displayBitSet(BitSet bitSet)

{

for(int i=0;i

{

boolean bit = bitSet.get(i);

System.out.print(bit?1:0);

}

System.out.println(" "+bitSet.size()+" "+bitSet.length());

}

}

输出是:

1000000010000001000000000000000000000000000000000000000000000000 64 16

我以为我会得到类似的东西

1000000010000001 16 16

这些尾随零的来源是什么?谁可以给我解释一下这个?谢谢~~

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_39616798/article/details/114119308

智能推荐

Oracle中Merge语句效率问题_iteye_1005的博客-程序员秘密

大家一定都会遇到过数据库操作中的 update, 也一定会考虑过主键重复的问题, 简单的解决方法就是先 select , 然后根据返回值判断是 insert 还是 update. 因为公司要求这个用一个语句执行, 所以调查了 oracle 自身的 merge 语句, 针对效率就调查的结果如下: 操作次数为 1 时 select 花费时...

java基础、底层实现、面试_我不睡我要写代码的博客-程序员秘密

目录1.String、StringBufer、StringBuilder1.1 String1.2 StringBuffer、StringBuilder1.3 Efficiency2. Interface and abstract class3. 运算符3.1. 移位运算符4. IO 输入输出流(1)IO流的分类(2)字节流和字符流4.1 输出字节...

Three.js开发指南---学习使用几何体(第五章)_xiangjinqi的博客-程序员秘密

一 基础几何体  1 二维图形:二维图形都是基于x和y轴构建的,即展示的形式就是他们都是“直立”的,如果希望这些二维图形躺下,则需要将几何体沿着x轴向后旋转1/4圈mesh.rotation.x=-Math.PI/2;   1.1 PlaneGeometry:平面几何体 new THREE.PlaneGeometry(width,height,widthSegments,he...

2021-07-12 深度学习服务器网络测试(顶会ECCV网络测试)_pth文件测试_blue_lala的博客-程序员秘密

一、 BiSeNet分割网络测试环节在demo.py里面,正式进入测试环节:进入执行.py文件所在的文件夹再执行!!# python demo.py报错环节:1. 服务器经常由于路径文件查询不到,采用…/对上一目录文件夹进行展示。error 1:Solution 1:sys.path.append("..")插入头文件,like this:2. 对文件(.py/.pth/.png etc)读取报错error 2:Solution 2:../configs/bisenet

OTG工作原理_otg原理_makeyourprogress的博客-程序员秘密

1994年,Intel,Compaq等七家软硬件全球知名企业提出了USB 0.7版本1998年,推出了USB 1.1版本(支持1.5Mb/s和12Mb/s两种速度)1999年,推出了USB 2.0版本(最高480Mb/s)但USB 1.1和USB 2.0都必须依赖于PC,因此2001年推出了OTG 1.0,2003年推出了OTG 1.0aUSB OTG的工作原理   O

ACL2020 Semantics-aware BERT for Language Understanding_厚积薄发FY的博客-程序员秘密

Semantics-aware BERT for Language Understanding一、 本文所做工作1) 现成的语义角色标记器2) 一种序列编码器3) 一个整合语义信息和文本表示的组件二、 Background and Related Work1) 语言模型。2) 明确的上下文语义。三、 Model1) Semantic Role Labeling2) Encoding3) Integration五、 Conclusion一、 本文所做工作目前的预训练语言模型虽然取得很大的成功,但是仅仅引入

随便推点

程序员的第一块第二屏幕_程序猿的两块屏幕_seen_in_hw的博客-程序员秘密

关于第二屏幕,很多程序员有很多的想法,但是很多人却苦于如何使用第二屏幕甚至不知道如何使用第二屏幕,因此今天写一篇简单的教程,教大家如何使用第二屏幕 简介:第二屏幕就是对于屏幕的一个简单拓展,就是把一部分的屏幕拉长,仅此而已 我们想使用第二屏幕,需要大致做如何几步:1,买一块显示器,买来显示器之后自己买对应的PC与显示器的连线2,给显示器供电,供完电之后把PC和显示器的连线连好3,通过设置PC拓展

Vue中使用Vant优惠券组件,按需导入发现报错,说组件没有注册?Vant组件使用报错_vant 优惠券列表_haoqi好奇的博客-程序员秘密

[Vue warn]: Unknown custom element: - did you register the component correctly? For recursive components, make sure to provide the “name” option.在是用Vant的优惠券组件的时候出现了该错误我按照官方文档npm i vant -S安装npm ...

MATLAB[2]:绘图坐标轴的设置_matlab坐标轴线宽怎么设置_SumIris的博客-程序员秘密

MATLAB:绘图坐标轴的设置1. 坐标轴基本操作1.1 基本格式1.2 常见用法2. 刻度基本操作3. 两侧坐标轴1. 坐标轴基本操作1.1 基本格式%某轴的名称设置xlabel(‘x轴’,‘FontName’,‘宋体’,‘FontSize’,8,LineWidth’,2);%坐标轴的字体设置set(gca,‘FontName’,‘Times New Roman’,‘FontSize...

C++Error2208:…尝试引用已删除的函数_bj_zhb的博客-程序员秘密

C++Error2208:…尝试引用已删除的函数在使用自己编写的类实例化c++linklist,结果编译器报了以下错误错误 C2280 “LList::LList(const LList &)”: 尝试引用已删除的函数 l从错误的内容看,似乎是自己的类的赋值构造函数被尝试调用却发现其已被删除。一般而言,对象的赋值构造函数如果开发者没有提供,则编译器会生成默认的赋值构造函数。然...

VUE 缓存 设置缓存 使用缓存_vue 如何开启disable cache_a_靖的博客-程序员秘密

QQ技术交流群173683866 526474645 欢迎加入交流讨论,打广告的一律飞机票VUE.JS 使用缓存我建议用good-storage ,简单方便好用,下面来看看怎么使用它good-storage 是一个插件,需要安装localStorage 临时缓存(主动清除缓存才会销毁)sessionStorage 长期缓存(关闭浏览器自动销毁)安装步骤:在命令行安装...

socket编程 - tcp并发压力测试工具_tcp socket 压力测试_raoxiaoya的博客-程序员秘密

代码地址:https://gitee.com/phprao/socket/blob/master/tcpPressure.php使用了多进程,需要在Linux下使用使用:php tcpPressure.php -c100 -n100000 -h127.0.0.1 -p8888 -kQPS:3455

推荐文章

热门文章

相关标签