考虑以下用例,将文件的 MD5
和存储在 java(或 groovy)对象中的最有效方式(性能和存储空间最佳)是什么:
- 我需要与其他数千个 md5 和进行比较。
- 我可能需要将其存储在 HSQLDB 中,以便可以根据 md5 提取/
group by
- 可以作为键存储在
Map
中
我试图避免将其存储为 String
,因为 String 比较的成本更高并且占用更多空间。 BigInteger(string,radix)
会更有效率吗?还有,持久化到数据库应该选择什么数据类型?
最佳答案
创建一个包装 byte[]
且不提供突变的类。如果您想将它用作 map 中的键,那么它需要具有可比性,或者具有哈希码。使用 byte[]
,您可以更轻松地从前 32 位计算简单的哈希码。
关于java - 在java对象中存储大十六进制数(md5)的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6539898/