加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

什么是Java中可调整大小,随机访问,高效的字节向量类?

发布时间:2020-12-14 19:16:16 所属栏目:Java 来源:网络整理
导读:我正在尝试在Java中找到一个用于存储字节向量的类,它支持:随机访问(所以我可以在任何地方获取或设置一个字节),调整大小(所以我可以将内容附加到最后,或者手动更改大小),合理的效率(我可能在这些东西中存储兆字节的数据),都在内存中(我没有文件系统).有什么

我正在尝试在Java中找到一个用于存储字节向量的类,它支持:随机访问(所以我可以在任何地方获取或设置一个字节),调整大小(所以我可以将内容附加到最后,或者手动更改大小),合理的效率(我可能在这些东西中存储兆字节的数据),都在内存中(我没有文件系统).有什么建议?

到目前为止候选人是:

> byte [].不可调整大小.
> java.util.Vector< Byte>.邪恶.也痛苦无效.
> java.io.ByteArrayOutputStream.不是随机访问.
> java.nio.ByteBuffer.不可调整大小.
> org.apache.commons.collections.primitives.ArrayByteList.不可调整大小.这很奇怪,因为它会自动调整大小,如果你添加东西,你就不能明确地改变大小!
> java.nio.channels.FileChannel的纯RAM实现.找不到一个. (记住我没有文件系统.)
> Apache Commons VFS和RAM文件系统.如果我必须,但我真的喜欢更重的东西……

这似乎是一个奇怪的遗漏,我相信我肯定错过了某个地方.我只想弄清楚什么.我错过了什么?

最佳答案
我会考虑一个包含大量byte []数组的类作为ArrayList或Vector的元素.

使每个块成为例如1024字节,因此您的访问器函数可以采用索引>> 10访问ArrayList的右边元素,然后索引& 0x3ff访问该数组的特定字节元素.

这将避免浪费将每个字节视为Byte对象,浪费在最后一个块末尾留下的任何东西.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读