Guten Tag,
ich befasse mich seit längerem mit Java. Kollegen von mir haben bereits eine Simulationsumgebung entwickelt. Ich bin nun damit beauftragt Objekte zu erstellen. Wir wollen volkswirtschaftliche Modelle untersuchen. Die Objekte werden in jedem Simulationsschritt mit neuen Kosten ausgestattet und sollen dann bzgl. dieser Kosten neu sortiert werden. So dass immer gewährleistet ist, dass das Objekt mit den geringsten Kosten zu erst eingesetzt wird und anschließend die nächste teurere Einheit usw. Ein Objekt was heute billiger war als das andere kann morgen schon teurer sein und somit weiter hinten in der Liste. Gerade das Umsortieren von mehreren 100 Objekten kann sehr viel Zeit in Anspruch nehmen, vorallem wenn es in jedem Schritt ausgeführt werden muss.
Es kann auch sein, dass im laufenden Betrieb ein Objekt mal herausfällt und neue hinzukommen. Das passiert aber wenn überhaupt alle 1000 Zeitschritte mal...
Welche Collections würdet ihr mir empfehlen? Ich habe es schon mit einer LinkedList gemacht, aber die braucht ja jedesmal O(n²) Operationen. Gibt es da etwas was schneller läuft? Wie kann man das implementieren?
Vielen Dank schon mal.
ich befasse mich seit längerem mit Java. Kollegen von mir haben bereits eine Simulationsumgebung entwickelt. Ich bin nun damit beauftragt Objekte zu erstellen. Wir wollen volkswirtschaftliche Modelle untersuchen. Die Objekte werden in jedem Simulationsschritt mit neuen Kosten ausgestattet und sollen dann bzgl. dieser Kosten neu sortiert werden. So dass immer gewährleistet ist, dass das Objekt mit den geringsten Kosten zu erst eingesetzt wird und anschließend die nächste teurere Einheit usw. Ein Objekt was heute billiger war als das andere kann morgen schon teurer sein und somit weiter hinten in der Liste. Gerade das Umsortieren von mehreren 100 Objekten kann sehr viel Zeit in Anspruch nehmen, vorallem wenn es in jedem Schritt ausgeführt werden muss.
Es kann auch sein, dass im laufenden Betrieb ein Objekt mal herausfällt und neue hinzukommen. Das passiert aber wenn überhaupt alle 1000 Zeitschritte mal...
Welche Collections würdet ihr mir empfehlen? Ich habe es schon mit einer LinkedList gemacht, aber die braucht ja jedesmal O(n²) Operationen. Gibt es da etwas was schneller läuft? Wie kann man das implementieren?
Vielen Dank schon mal.