Ich wollte sortierte polnische Namen aller verfügbaren Sprachen drucken.Sortierung String mit nicht-westlichen Zeichen
import java.util.*;
public class Tmp
{
public static void main(String... args)
{
Locale.setDefault(new Locale("pl","PL"));
Locale[] locales = Locale.getAvailableLocales();
ArrayList<String> langs = new ArrayList<String>();
for(Locale loc: locales) {
String lng = loc.getDisplayLanguage();
if(!lng.trim().equals("") && ! langs.contains(lng)){
langs.add(lng);
}
}
Collections.sort(langs);
for(String str: langs){
System.out.println(str);
}
}
}
Leider habe ich Probleme mit dem Sortierbereich. Die Ausgabe lautet:
:
:
kataloński
koreański
litewski
macedoński
:
:
węgierski
włoski
łotewski
Leider gibt es in polnischen ł
kommt nach l
und vor m
so sollte die Ausgabe sein:
:
:
kataloński
koreański
litewski
łotewski
macedoński
:
:
węgierski
włoski
Wie kann ich das erreichen? Gibt es eine universelle, nicht sprachabhängige Methode (sagen wir, ich möchte dies jetzt anzeigen und in einer anderen Sprache mit anderen Sortierregeln sortieren).
haben Sie diese Lösung überprüft? http://stackoverflow.com/questions/12889760/sort-list-of-strings-with-localization – Abdul