java - ByteBuffer 的 HashSet(实际上是整数),用于从 ByteBuffer 数组中分离唯一和非唯一元素

标签 java arrays hashset bytebuffer

我有一个数组 ByteBuffer s(实际上代表整数)。我想在数组中分离唯一和非唯一的 ByteBuffer(即整数)。因此我使用这种类型的 HashSet:
HashSet<ByteBuffer> columnsSet = new HashSet<ByteBuffer>()

只是想知道是否 HashSet是一个好方法吗?当我这样做时,我是否需要支付更多成本ByteBuffer那么如果我会这样做 Integer

(实际上我正在从数据库读取序列化数据,需要在此操作后写回,因此我想避免字节缓冲区到整数之间的序列化和反序列化!)

感谢您对此的想法。

最佳答案

创建 ByteBuffer 比从重用的 ByteBuffer 中读取/写入要昂贵得多。

存储整数最有效的方法是使用int类型。如果您想要一组这些,您可以使用使用 int 原语的 TIntHashSet。您可以使用 O(1) 预分配对象执行多次读取/反序列化/存储和反向操作。

关于java - ByteBuffer 的 HashSet(实际上是整数),用于从 ByteBuffer 数组中分离唯一和非唯一元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5353811/

相关文章:

java - 使用 EasyMock 测试构造另一个对象的方法

java - 在运行时使用自定义变量查找数据源

c - 递归魔方-将2D数组传递给函数进行修改

java - LinkedHashSet 不主要插入顺序吗?

c# - 集合查找;字典的替代品

java - Spring Boot中自动将HashSet转换为串联字符串

java - 获取用户头像 VK SDK

java - 为什么冒泡排序比选择排序花费更多时间

arrays - MATLAB:使用 sub2ind 3d 在给定的行和列索引处从 3d 矩阵中提取值

chararray 大小和长度不一样