Ich versuche, ein kartesisches Produkt von List in Java mit diesem Code zu generieren:kartesischer der Liste in Java
private static List<List<String>> getCartesian(List<List<String>> initialList)
{
List<List<String>> result = new ArrayList<List<String>>();
result.add(new ArrayList<String>());
for (List<String> first : initialList)
{
List<List<String>> temporaryList = new ArrayList<List<String>>();
for (List<String> second : result)
{
for (String word : first)
{
List<String> tmp2 = new ArrayList<String>(second);
tmp2.add(word);
temporaryList.add(tmp2);
}
}
result = temporaryList;
}
return result;
}
Ich erhalte die folgende Fehlermeldung, wenn ich große Listen mit:
Exception in thread "main" java.lang.OutOfMemoryError: Java heap space
Was kann ich tun, damit Big Data funktioniert?
Siehe JVM-Option -Xmx. –
Müssen Sie alle diese Listen gleichzeitig im Speicher haben? Was machst du mit dem Produkt, wenn du es gemacht hast? – khelwood
Führen Sie Java mit der Befehlszeilenoption -Xmx aus, mit der die maximale Größe des Heapspeichers festgelegt wird. Standard ist 512M ich denke, also bewusst sein: Sie verwenden eine Menge Speicher für diese Funktion ... – Exceptyon