In Java, mit Komparator, ist es möglich, Elemente an den spezifischen Positionen in einer Liste zu sortieren? Wenn das so ist, wie? Beispiel: Die Liste {1,2,3,4,10,6,7,8}
Indizes der Elemente sortiert {3,4,7}
in absteigender Reihenfolge, das Ergebnis wäre {1,2,3,10,8,6,7,4}
.Sortieren bestimmter Elemente in Liste mit Komparator
Antwort
Voraussichtlich kennen Sie die spezifischen Positionen im Voraus? Wenn dies der Fall ist, erstellen Sie eine neue Liste mit den Elementen, die Sie sortieren möchten, sortieren Sie die Liste, und ersetzen Sie dann die Elemente in der ursprünglichen Liste durch die sortierte Liste, jeweils ein Element.
Würde so etwas funktionieren? Sie würden den Vergleicher mit einer Liste der Werte und der Liste der zu sortierenden Indizes erstellen:
private static class MyComparator implements Comparator<Integer>{
private ArrayList<Integer> indexes;
private ArrayList<Integer> vals;
public MyComparator(ArrayList<Integer> indexes, ArrayList<Integer> vals){
this.indexes = indexes;
this.vals = vals;
}
@Override
public int compare(Integer arg0, Integer arg1) {
if(indexes.contains(vals.indexOf(arg0)) && indexes.contains(vals.indexOf(arg1))){
return Integer.compare(arg1, arg0);
}
return 0;
}
}
Das habe ich ausprobiert, leider hat es nicht geklappt. –
Ich bekam Ausgaben, die wie erwartet aussahen. Ich denke, ich hätte dein konkretes Beispiel ausprobieren sollen, weil ich sehe, dass es anders ist. Es tut uns leid! –
- 1. Liste :: enthält mit Komparator
- 2. Hinzufügen bestimmter Elemente der Liste
- 3. Sortieren Array mit Streams mit umgekehrten Komparator
- 4. java Komparator für Arrays sortieren
- 5. Karte mit Komparator nach Kartenwert sortieren
- 6. Java-Komparator in umgekehrter Reihenfolge sortieren
- 7. Kann nicht null mit Komparator
- 8. Python: spezifische Elemente in einer Liste sortieren
- 9. Sortieren Liste Elemente in Elixir Lang
- 10. Java-Komparator für das Sortieren funktioniert nicht
- 11. Aktualisieren bestimmter Elemente in ListView
- 12. Deaktivieren bestimmter Elemente in QComboBox
- 13. Komparator nicht in qsort Aufruf [Fehler: erwartete Ausdruck vor Komparator]
- 14. Sortieren mit verknüpften Liste
- 15. Prioritätswarteschlange mit benutzerdefinierten Komparator
- 16. Extrahieren bestimmter Elemente aus der Liste Python 2.7
- 17. 5 Elemente mit minimalem Elementvergleich sortieren
- 18. Benutzerdefinierte Sortierung mit Komparator in Java
- 19. Sortierung mit Komparator- Absteigende Reihenfolge (benutzerdefinierte Klassen)
- 20. Wie wird die Summe bestimmter Elemente aus einer Liste berechnet?
- 21. Ignorieren bestimmter Strings beim Sortieren eines Arrays
- 22. Collections Art benutzerdefinierte Komparator
- 23. Sortieren Sie mehrere ausgewählte Elemente mit jQueryUI
- 24. Sortieren in Liste Objekt
- 25. How get Liste von Set und Komparator
- 26. Customized in Java Sortier Komparator mit
- 27. Java HashMap Sortierung mit benutzerdefinierten Lambda-Komparator
- 28. Sortieren von Karten ohne Komparator, Arraylist oder Baumsatz
- 29. Komparator mit Fänger
- 30. Elemente in einer Datenbank sortieren
Vielen Dank für den Trick. –