java - 字符串到列表<String>的内存高效映射

标签 java hashmap

我使用 HashMap 结构来存储父文档(Key)和与该父文档相关的所有子文档(Value)的列表之间的映射。这需要稍后迭代来处理映射。列表中的键以及每个值通常是 75-100 个字符长的文件名。这工作正常,但有 50000 个父文档,每个父文档都有 50-100 个与其关联的子文档。因此这会在内存中产生巨大的对象负载。有没有更好的方法以内存有效的方式存储此映射?

Map<String, List<String>> docmap=new HashMap<String,List<String>>();

最佳答案

这应该更加节省内存,因为它不会浪费内存用于存储桶管理:

        String [][] array = new String [50000][]; // parents
        array[1] = new String[100]; // children for parent 1

关于java - 字符串到列表<String>的内存高效映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33595542/

相关文章:

Java:如何将 .txt 文件中的单独文本行保存到字符串数组中?

java - 在 hashmap 中循环时出现并发修改错误

Java HashMap MAXIMUM_CAPACITY

java - 从 HashMap 返回一个元素

java - gradle checkstyle 只是输出温暖,但构建成功

java - GUI 中的可视化图形表示

java - 如何编写 hql 查询以从逗号分隔的单词中搜索一个单词

java - 文本文件中的 HashMap 未完全读取

c++ - 未声明的数组元素缺少 nullptr

java - informix DB 上的 ROW_NUMBER() 显示不支持 BIGINT