java 怎样算一个集合有多少kb
如果这个集合是这样List<String>list=newArrayList<String>();list.add("abcdefghnopqr<?3>s38i458yt...
如果这个集合是这样
List<String> list = new ArrayList<String>();
list.add("abcdefghnopqr<?3>s38i458ytudifeisdkfjslf");
list.add("kfjiefjdkfjks怎么样...??d<optiorn>nfdkfnlskfj");
...
这个集合有这样的数据 10万条,那如何知道到这10万条数据有多少kb呢?
比如 :System.out.println(list.size()); //这样取得这个集合有多少条,那如何计算这么多条有多少KB 或 MB 或 GB 呢?
如果是这种比较复杂的集合该怎么统计呢?
List<Map<Object, Object>> list_map = new ArrayList<Map<Object, Object>>();
这个List 里面有 2万个Map ,一个Map里面有 30个键值对
那这个集合会有多大呢?用(KB或MB或GB)描述.. 展开
List<String> list = new ArrayList<String>();
list.add("abcdefghnopqr<?3>s38i458ytudifeisdkfjslf");
list.add("kfjiefjdkfjks怎么样...??d<optiorn>nfdkfnlskfj");
...
这个集合有这样的数据 10万条,那如何知道到这10万条数据有多少kb呢?
比如 :System.out.println(list.size()); //这样取得这个集合有多少条,那如何计算这么多条有多少KB 或 MB 或 GB 呢?
如果是这种比较复杂的集合该怎么统计呢?
List<Map<Object, Object>> list_map = new ArrayList<Map<Object, Object>>();
这个List 里面有 2万个Map ,一个Map里面有 30个键值对
那这个集合会有多大呢?用(KB或MB或GB)描述.. 展开
展开全部
一个字节为一B = 8b
1KB = 8Kb
1KB = 8Kb
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
等待
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
java内部使用utf-16编码,所以字符串中的一个字符(不管是字母,或者汉字)占4个字节。
内存中字符串占用的字节数=字符串的长度*4。
1G=1024M,1M=1024KB,1KB=1024Byte.
,针对你的问题,取出list中得每个字符串,分别计算字符串占用的字节数。
然后总和相加。就是list占用的字节数。
内存中字符串占用的字节数=字符串的长度*4。
1G=1024M,1M=1024KB,1KB=1024Byte.
,针对你的问题,取出list中得每个字符串,分别计算字符串占用的字节数。
然后总和相加。就是list占用的字节数。
追问
我测试了一下 计算出的大小 为74KB 实际输出大小 txt格式为 39.8KB excle 为31.5KB 似乎这样计算的误差有点大 。是不是因为 是utf-16 还要/2 的原因 或者是字符串的长度 *2 就够了!
utf-8 与 utf-16 有多大差别?
追答
utf-16是java内容使用的编码,也就是说,上面的方法计算的是list在内存中的大小。
字符串输出后,字符串占用空间依赖文件所采用的编码(与操作系统编码有关)。
中文windows,使用gbk编码。在gbk编码中,一个英文字符占一个字节。一个汉字占两个字节。
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询