在地图中存储大量字符串的内存效率最高的方法是什么?

And*_*ann 6 java memory string collections memory-optimization

我想在a中存储大量的字符串Map<String, MagicObject>,以便MagicObjects可以快速访问.这张地图有很多条目,内存正成为瓶颈.假设MagicObjects无法优化,我可以在这种情况下使用哪种最有效的地图类型?我目前正在使用以下内容:

gnu.trove.map.hash.TCustomHashMap<byte[], MagicObject>
Run Code Online (Sandbox Code Playgroud)

Leo*_*eon 4

如果您的键足够长并且有很多足够长的公共前缀,那么您可以通过使用trie(前缀树)数据结构来节省内存。这个问题的答案指向了 trie 的几个 Java 实现。