gpt4 book ai didi

java - 在 hashmap 中存储 String 数据类型时,有什么技巧可以减少内存使用吗?

转载 作者:行者123 更新时间:2023-11-29 05:53:27 25 4
gpt4 key购买 nike

我需要在 map 中存储值对(单词和数字)。

我正在尝试使用 Trove 库中的 TObjectIntHashMap 并将 char[] 作为键,因为我需要最小化内存使用量。但是用这个方法,当我使用get()方法时,我无法获取到值。
我想我不能使用原始字符数组存储在 Map 中,因为哈希码问题。

我尝试使用 TCharArrayList 但这也占用了很多内存。
我阅读了另一个与我的目的相似的 stackoverflow 问题,并建议使用 TLongIntHashMap ,将 String 字的编码值存储在 long 数据类型中。在这种情况下,我的单词可能包含拉丁字符或出现在维基百科集合中的各种其他字符,我不知道 Long 是否足以进行编码。

我尝试过使用 Trie 数据结构来存储它,但我还需要考虑我的性能并选择内存使用和性能最好的。

您对这个问题有什么想法或建议吗?

最佳答案

听起来最紧凑的数据存储方式是使用以 UTF-8 或类似方式编码的 byte[]。您可以将它包装在您自己的类中,或者编写您自己的 HashMap,它允许 byte[] 作为键。

我会重新考虑花多少时间来节省一些内存是值得的。如果您谈论的是 PC 或服务器,您需要为一个小时的工作节省 1 GB 的最低工资,所以如果您只想节省 100 MB,那大约需要 6 分钟,包括测试。

关于java - 在 hashmap 中存储 String 数据类型时,有什么技巧可以减少内存使用吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13054511/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com