【发布时间】:2012-03-04 21:12:13
【问题描述】:
我有一个 Java 中的词干提取算法,它需要一个静态的最终 HashMap<String, String> 预先填充大约 30 000 条记录。
我需要地图按照插入的顺序保存记录(我得到提示,我可以使用LinkedHashMap?)。
我想我可以手动在 Java 类文件中插入值,因为这是通过使用 30 000 次调用将它们加载到 RAM 中的最快方法(时间/生产力对这个项目非常重要)
map.put("Key", "Value");
问题是,java(或至少 eclipse)在任何段/方法等中只允许 65kb 的代码。所以我最终扩展了 11 个类并将 65kb 的 .puts 放入构造函数或 static { } .
一切都很好,但是当我运行它时,订单被打乱了。对于这么多行,我无法追踪哪里出了问题,在扩展顺序中还是在地图中。
那么,请告诉我,就性能而言,您在 java 中填写最终地图的最佳方式是什么。
P.S.:从文件中加载和解析记录太慢了...
【问题讨论】:
标签: java map initialization hashmap