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/

相关文章:

c - 修改同一内存地址上的值如何会删除以前的值? "OVERWRITTEN concept on PC' s模式操作”

java - 如何使 mouseClicked 像 mousePressed 一样工作

java - 当您想将一些通用功能应用于某些特定方法时使用的设计模式?

php - 这种语法在 PHP 中的特殊用途? (三重 'Angle Brackets')

c++ - 将内存块复制到内存的另一部分

java - Java中的内存高效稀疏数组

java - 使用集合映射

java - java.lang.RuntimeException:无法启动 Activity ComponentInfo:java.lang.ClassCastException:无法转换为android.widget.Button

java - 如何将二维字符串数组打印为字符串

c - 如何在 C 中解析带引号的 .csv 文件