转载

数据结构等同于大型数据集的map(在java中)

是否存在已经实现的数据结构,我可以使用它来分配给对象

(在我的例子中是边缘),一个整数?我正在从一个文件,10密耳顶点,60密耳边缘读取图形,并使用地图(cost.put(e,cost))为每个边缘分配成本.

我用这种方式创建了成本图:

costs = new HashMap<Edge,Integer>();

它给出的例外是:

java.lang.OutOfMemoryError: Java heap space
    at java.util.HashMap.resize(Unknown Source)
    at java.util.HashMap.addEntry(Unknown Source)
    at java.util.HashMap.put(Unknown Source)

HashMap是基本Map的正确数据结构.您遇到的问题是没有指示JVM保留足够的空间来将文件内容保存在内存中.使用-Xmx标志启动JVM.例如-Xmx1G参数将允许它使用1千兆字节的内存.

翻译自:https://stackoverflow.com/questions/13154528/data-structure-equivalent-to-map-in-java-for-large-datasets

原文  https://codeday.me/bug/20190111/517018.html
正文到此结束
Loading...