考虑到以下用例,将文件的MD5总和存储在java(或groovy)对象中的最有效方法(性能和存储空间最佳)是什么:
>我需要与数以千计的其他md5总和进行比较.
>我可能需要将其存储在HSQLDB中,以便可以根据md5提取/分组记录
>可以作为键存储在Map中
我试图避免将其存储为String作为字符串比较将更昂贵并占用更多空间. BigInteger(字符串,基数)会更有效吗?另外,如果在数据库中持久存在,应该选择什么数据类型?
解决方法:
创建一个包装byte []并且不提供突变的类.如果要将其用作映射中的键,则需要具有可比性,或者具有哈希码.使用byte [],您可以更轻松地从前32位计算简单的哈希码.