Hallo,
ich habe folgendes Problem: In meinem Programm muss ich sehr große ArrayListen handeln. Ich habe eine ArrayList in der ca. 1 Mio. Punktobjekte mit ID und Koordinaten gespeichert werden. Zusätzlich benötige ich noch eine ArrayList mit ca. 3 Mio. Linienobjekten mit Start- und Endknoten.
Die Punkte machen keine Probleme, aber wenn ich die ArrayList mit den 3 Mio. Linien anlege, bekomme ich eine "Out of memory" Exception. (ich war eigentlich auch nicht überrascht, denn irgendwann musste das ja passieren :?)
Gibt es irgendeine Möglichkeit das ganze Platzsparender anzulegen, oder temporär auf die Festplatte auszulagern, oder vielleicht ganz was anderes?
Denn zusätzlich möchte ich aus den Informationen über die Punkte und Linien noch Dreiecke berechnen, die auch noch irgendwo zwischengespeichert werden müssen.
Kennt jemand eine Lösung mit der man so große Datenmengen behandeln kann,um sie dann auch noch mit angemessener Berechnungszeit weiter zu verarbeiten?
ich habe folgendes Problem: In meinem Programm muss ich sehr große ArrayListen handeln. Ich habe eine ArrayList in der ca. 1 Mio. Punktobjekte mit ID und Koordinaten gespeichert werden. Zusätzlich benötige ich noch eine ArrayList mit ca. 3 Mio. Linienobjekten mit Start- und Endknoten.
Die Punkte machen keine Probleme, aber wenn ich die ArrayList mit den 3 Mio. Linien anlege, bekomme ich eine "Out of memory" Exception. (ich war eigentlich auch nicht überrascht, denn irgendwann musste das ja passieren :?)
Gibt es irgendeine Möglichkeit das ganze Platzsparender anzulegen, oder temporär auf die Festplatte auszulagern, oder vielleicht ganz was anderes?
Denn zusätzlich möchte ich aus den Informationen über die Punkte und Linien noch Dreiecke berechnen, die auch noch irgendwo zwischengespeichert werden müssen.
Kennt jemand eine Lösung mit der man so große Datenmengen behandeln kann,um sie dann auch noch mit angemessener Berechnungszeit weiter zu verarbeiten?