HashMap的问题
要存储一个三维的稀疏的矩阵,典型的比如10*2000*10000,用数组显然不实际,
想法一:把坐标与value做一个类,用数组存储,但查找value时用Arrays.binarySearch()超级慢。
想法二:把三个坐标作为hash键,value作为值,但是当非稀疏的元素超过比如几十万的时候就出现Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
比如下面这个例子
HashMap hm = new HashMap();
for(int i=0;i<1000000;i++){
hm.put(Integer.toString(i), i);
}
System.out.print("end");
有没有什么办法又能解决稀疏的存储和查找的速度呢?