我有一个数组 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/