Ein Baum existiert, der Erdbebeninformationen als Objekte speichert (enthält Daten wie Stärke, Datum des Erdbebens, Tiefe des Erdbebens). Ich möchte die Objekte anhand bestimmter Kriterien wie der Erdbebentiefe (aufsteigend oder absteigend) filtern und jedes Objekt zu einem neuen Baum hinzufügen, bei dem alle Erdbeben auf Grundlage der spezifischen Kriterien geordnet werden. Ich möchte nicht jedes Mal den gleichen Baum sortieren, sondern stattdessen verschiedene Bäume für verschiedene Filter haben und dann in der Reihenfolge suchen, um ein bestimmtes Erdbebenobjekt zu erhalten. Es können auch mehrere Filter verwendet werden. Ich möchte nicht den Code, sondern das algorithmische Denken, das zur Lösung eines solchen Problems verwendet wird, insbesondere, wie man durch den ursprünglichen Baum gehen und dann die Objekte geordnet in das neue einfügen würde.Der beste Weg in Java, um einen neuen Baum zu erstellen, der geordnete Daten basierend auf einem bestimmten Kriterium enthält
0
A
Antwort
0
Sie können einen mit einem benutzerdefinierten Komparator verwenden (sortiert nach der natürlichen Reihenfolge der Schlüssel standardmäßig).
Um es mit einem benutzerdefinierten zu verwenden Comaparator
Sie einfach den Komparator in den Konstruktor des TreeMap
passieren:
TreeMap<SomeKey, Earthquake> earthquakes =
new TreeMap<>(new YourCustomEarthquakeComparator());
Dann wird, um getrennte Bäume zu haben, die die Erdbeben in einer anderen Reihenfolge sortieren, definieren Sie einfach mehrere Komparatoren, die verschiedene Felder der Erdbeben vergleichen.
Verwandte Themen
- 1. Der beste Weg, einen Baum von rowset in Java erstellen
- 2. Was ist der beste Weg, um vorberechnete Daten zu implementieren?
- 3. Der beste Weg, um einen neuen Wert einzufügen
- 4. Der beste Weg, um eine Liste ohne Duplikate zu erstellen?
- 5. Der beste Weg, um die Liste der Doubles zu gruppieren, um einen bestimmten Wert zu addieren
- 6. Was ist der beste Weg, um einen Baum aus einem Git-Repository zu extrahieren?
- 7. Der beste Weg, um Daten aus mehreren Tabellen zu zeigen
- 8. Der beste Weg, um Entitäten in einem Spiel zu organisieren?
- 9. Der beste Weg, um Java-Dateien zu verteilen
- 10. Der beste Weg, um eine Anzeigetafel zu erstellen
- 11. Der beste Weg, um eine Liste in Java zu pflegen
- 12. Der beste Weg, um einen Download zu starten?
- 13. Der beste Weg, um Aggregationen in Spark zu tun
- 14. Der beste Weg, um Javascript zu speichern
- 15. Der beste Weg, um "networkaddress.cache.ttl"
- 16. Der beste Weg, um eine hashmap von arraylist zu erstellen
- 17. Der beste Weg, um die Zeile mit dem letzten Zeitstempel auszuwählen, der einem Kriterium entspricht
- 18. Der beste Weg, um Daten zu formatieren für
- 19. Der beste Weg, um ein Listenelement zu erstellen
- 20. Was ist der beste Weg, um Daten mit Java Swing
- 21. Was ist der beste Weg, um zu einem neuen Perforce-Server zu wechseln?
- 22. Beste Methode, um die Anzahl der Zeilen zu zählen, die einem bestimmten Kriterium entsprechen
- 23. Was ist der beste Weg, um eine Sitemap zu erstellen?
- 24. Was ist der beste Weg, um einen Index zu erstellen, um die schnellste Leseantwort zu erhalten?
- 25. Was ist der beste Weg, um große geordnete Listen oder Hashes zu manipulieren und zu speichern?
- 26. Der beste Weg, um einen WYSIWYG in Flex zu machen?
- 27. Der beste Weg, um Java-Aufgabe in Grad zu definieren
- 28. Der beste Weg, um Erweiterungsmethoden zu implementieren
- 29. Der beste Weg, um einen Benutzer eindeutig zu identifizieren
- 30. der beste Weg, um baumähnliche Informationen in app.config zu speichern