Haritadaki mesafeyi elde etmeye çalışıyorum ama java yığın hatası almayı sürdürüyorum ... Verilerin bir Harita'da saklandığında bile neden olduğunu anlamıyorum.Java Heap Hatası
Map<Integer, double[]> getDistanceTable(Map<String, Double[]> vectors) {
Map<Integer, double[]> distance = new HashMap<>();
int size = vectors.keySet().size();
for(int i=0; i<vectors.keySet().size(); i++) {
double[] features = new double[size];
int index = 1;
features[0] = 0;
for(int j = i+1; j<vectors.keySet().size(); j++) {
features[index] =new QueryClustering().getDistance(vectors.get(i), vectors.get(j));
index++;
}
distance.put(i, features);
size--;
}
return distance;
}
}
Belki de yeni QueryClustering() getDistance büyük nesneyi döndürür ve bu tip çok sayıda örneği var. –
yığınına sığamayan Harita Her yinelemede yeni bir QueryClustering nesnesi oluşturmamaya çalışın. Herhangi bir 'for' dışında oluşturmaya çalışın ve 'for' deyimindeki getDistance (...) yöntemini çağırın. –
Lütfen tam hata mesajı da dahil olmak üzere daha fazla ayrıntı verebilir misiniz? Görebildiğim bir (alakasız) konu, 'vectors.get (i)' yaptığınızdır. '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' '' –