Liste Sortieren von Strings mit Lokalisierung
Möchte ich Sortieren unterhalb der Liste der Zeichenfolgen, die als pro Benutzer Gebietsschema
List<String> words = Arrays.asList(
"Äbc", "äbc", "Àbc", "àbc", "Abc", "abc", "ABC"
);
Für verschiedene Benutzer-Gebietsschema Ausgabe Sortieren sollte anders sein, als pro es-locale.
So zu Sortieren oberhalb der Liste als pro-Benutzer-Gebietsschema ?
Versuchte ich
Collections.sort(words , String.CASE_INSENSITIVE_ORDER);
Aber dies ist nicht arbeiten für die Lokalisierung, so wie pass locale parameter Collections.sort()
oder gibt es eine andere effiziente Art und Weise ?
InformationsquelleAutor der Frage Rahul Agrawal | 2012-10-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden, eine Art mit einem benutzerdefinierten Komparator. Finden Sie die Collator-Schnittstelle
Der collator ist ein Komparator und kann direkt übergeben werden, um die
Collections.sort(...)
Methode.InformationsquelleAutor der Antwort John Dvorak
Ich denke, das, was Sie verwenden sollten -
Collator
Etwas tun, wie folgt in Ihrem Komparator -
Und übergeben Sie eine Instanz der Komparator die
Collections.sort
Methode.Update
Wie @Jan Dvorak sagte, es ist eigentlich ein Komparator, so können Sie einfach erstellen, es ist Herzen lag, die mit dem gewünschten Gebietsschema ist, setzen Sie die Stärke und übergeben es der Methode "sort":
InformationsquelleAutor der Antwort Bhesh Gurung