使用 TreeMap 而不是 Properties
Use TreeMap instead of Properties
我有一个非常大的带有 i18n 资源包的属性文件。看起来像:
button.browse=Browse
button.cancel=Cancel
button.clear=Clear
请注意键是可排序的并且具有相似的前缀,我不希望有重复项。
然后通过 java.util.Properties 加载属性文件并仅使用 get() 进行查询并且从未更新。
由于 Properties 文件扩展了一个过时的 Hastable,我想使用其他 Map class 以获得更好的性能。我可以使用更多内存,但我需要尽快获取值。
默认情况下,我们总是使用 HashMap 但据我所知,如果有很多条目,它无论如何都会使用节点作为树图。那么也许我可以改用 TreeMap?
是否有更适合此类数据的地图实现?例如使用来自键的前缀树的东西或类似的东西
HashMap 仅将树用于包含具有相同哈希码的条目的存储桶。对于这样的本地化字符串,预计不会有很多。所以这里hashmap还是比较好
我有一个非常大的带有 i18n 资源包的属性文件。看起来像:
button.browse=Browse
button.cancel=Cancel
button.clear=Clear
请注意键是可排序的并且具有相似的前缀,我不希望有重复项。 然后通过 java.util.Properties 加载属性文件并仅使用 get() 进行查询并且从未更新。 由于 Properties 文件扩展了一个过时的 Hastable,我想使用其他 Map class 以获得更好的性能。我可以使用更多内存,但我需要尽快获取值。 默认情况下,我们总是使用 HashMap 但据我所知,如果有很多条目,它无论如何都会使用节点作为树图。那么也许我可以改用 TreeMap?
是否有更适合此类数据的地图实现?例如使用来自键的前缀树的东西或类似的东西
HashMap 仅将树用于包含具有相同哈希码的条目的存储桶。对于这样的本地化字符串,预计不会有很多。所以这里hashmap还是比较好