java - 在 map 中存储大量字符串的最有效内存方法是什么?

标签 java string memory collections memory-optimization

我想在 Map<String, MagicObject> 中存储大量字符串,所以 MagicObjects可以快速访问。此 Map 的条目太多,内存已成为瓶颈。假设 MagicObjects无法优化,对于这种情况,我可以使用的最有效的 map 类型是什么?我目前正在使用以下内容:

gnu.trove.map.hash.TCustomHashMap<byte[], MagicObject>

最佳答案

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

关于java - 在 map 中存储大量字符串的最有效内存方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37837688/

相关文章:

java - 为什么这段代码会跳过文件的第一行?

javascript - 使用 Bottle 将列表从 python 传递到 js 的最佳方法是什么?

java - 如何在android中的剩余文本中添加文本

c - 在C语言中,如何更改指针指向的内存地址?

python - 如何估计 NetworkX 图形内存使用情况?

c# - c#中类实例的内存使用

java - 与单独的线程读/写操作聊天。写入线程立即关闭

java - 将编译后的二进制文件复制到远程系统

java - 如何使用 PDFBox 将页面的一部分呈现为图像?

regex - 如何在 Perl 中替换连续且相同的字符?