Wenn ich eine ArrayList von benutzerdefinierten Objekten habe, die ich in der Lage sein muss, sie in verschiedenen Sortierungen anzuzeigen (z. B. 4 Sortierarten, so 4 Komparatoren, um die richtigen Elementvariablen der zu verwenden Objekte für die Sortierung) Was ist der effizienteste Weg?
Ich glaube nicht, z. 4 Array-Listen der Objekte sortiert nach einem bestimmten Komparator ist optimal.
Gibt es einen anderen effizienteren Weg?
Bitte beachten Sie, dass ich diese Objekte zur gleichen Zeit sortiert haben müsste, wie sie auf der gleichen Seite dargestellt werden. So kann ich nicht auf Anfrage sortierenArraylist auf X verschiedene Arten gleichzeitig sortieren
Antwort
Sie könnten verschiedene Indexarrays haben, die ganze Zahlen enthalten, die als Indizes Ihrer ursprünglichen ArrayList
interpeded sind. Diese können auf verschiedene Arten sortiert werden.
Um die Listenelemente zuzugreifen, verwenden Sie so etwas wie diese:
list.get(index1.get(i));
Das bedeutet, ich hätte 4 sortierte Listen von Ganzzahlen, die die Indizes der Array-Liste darstellen. Wenn man bedenkt, dass die Arraylist Referenzen der Objekte speichert und wir im Wesentlichen während der Sortierung die Referenzen bewegen, gibt es einen großen Unterschied zwischen den Ansätzen? – Jim
@Jim: Ja, du hast Recht. In Java gibt es keinen signifikanten Unterschied. Ich bezweifle jedoch, dass es einen wesentlich effizienteren Weg gibt, Ihre Anforderungen zu erfüllen. –
Ich denke, dass FlyWeight design pattern Ihre Erwartungen entsprechen könnte.
Das Flyweight-Muster wird hauptsächlich verwendet, um die Anzahl der erstellten Objekte zu reduzieren und den Speicherbedarf zu reduzieren und die Leistung zu erhöhen. Diese Art von Entwurfsmuster kommt unter strukturelles Muster, da dieses Muster Möglichkeiten zur Verringerung der Objektanzahl bietet, wodurch die Objektstruktur der Anwendung verbessert wird.
Da Sie Ihre Objekte in einer ArrayList haben, können Sie so viele ArrayLists wie verschiedene Arten von Arten erstellen, die Sie zum Speichern von Fliegengewicht-Objekten benötigen (im Grunde ID, Reihenfolge).
- 1. vergleichen und sortieren verschiedene Arten von Objekten mit Java Collections
- 2. Zusammenfassen von Daten auf zwei verschiedene Arten
- 3. Gleiche Erklärung zwei verschiedene Arten
- 4. Verschiedene Arten von Iteratoren
- 5. Verschiedene Arten von Programmablauf?
- 6. Multiple Seperator zeigt Inhalt auf verschiedene Arten
- 7. Aufruf einer Methode auf zwei verschiedene Arten
- 8. verschiedene Arten von DLLs auf Windows-Plattform
- 9. Verschiedene Arten der XML-Validierung
- 10. Verschiedene Arten in Map Scala
- 11. Kinvey: Bietet Zugriff auf Rest-APIs auf verschiedene Arten
- 12. verschiedene Arten von Kanten in graphx
- 13. Wie Kategorien Arraylist zu sortieren?
- 14. Easeljs zeichnen verschiedene Arten von Pfeilen
- 15. definiert verschiedene Arten von Zahlen in C#
- 16. behandeln verschiedene Arten von Benachrichtigungen in Android
- 17. Datenbank-Design: Ein für viele verschiedene Arten
- 18. Wie Elemente einer Liste auf verschiedene Arten zu kombinieren
- 19. Warum WPF-Bindung behandelt INotifyPropertyChanged auf zwei verschiedene Arten?
- 20. Entity Framework Union und Außer-Abfrage auf verschiedene Arten
- 21. Django - Unterscheiden Sie verschiedene Arten von IntegrityError
- 22. Verschiedene Arten Klassen in Scala zu erstellen?
- 23. Verschiedene Arten von Hyperlinks in Word-Dokument
- 24. Verschiedene Arten von Load-Balancing-Richtlinien
- 25. Verschiedene Arten der Bestellung von Aufgaben
- 26. Elasticsearch - kommen zwei verschiedene Arten von Dokumenten
- 27. Verschiedene Arten haben gleiche Signaturen in CIL
- 28. SQL LISTAGG für verschiedene Arten von Werten
- 29. PHP-Datei verschiedene Arten von Dateien hochladen
- 30. Verschiedene Arten zum Löschen von Listen
Wo zeigen Sie diese an? Sollte die Ansicht nicht die Sortierung übernehmen (wie beim Klicken auf eine Kopfzeile in einem Datenraster)? – Philippe
können Sie 4 verschiedene 'Comparator' implementieren, aber AFAIK können Sie nicht die gleiche' List' in verschiedenen Wais ... –
@Philippe: In einer UI in Android-Gerät haben. Nun, die Ansicht kann die Sortierung übernehmen, aber ich wollte 4 verschiedene sortierte Listen der gleichen Objekte vermeiden, wenn möglich – Jim