Collections Treemap: Sortierung nach Umlaute klappt nicht

zeyu29

Mitglied
Hallo,

ich habe eine Klasse in dem ich die Länder Alphabetisch sortieren lasse. Ich habe hier ein kleines Besipiel, wie ich Vorgegangen bin. Aber irgendwie kriege ich die Umlaute nicht hin. Ich hoffe, dass jemand mir behilflich sein kann. :(

Java:
private static final Map<String,String> countries = new TreeMap <String,String>(String.CASE_INSENSITIVE_ORDER)// durch den Parameter lassen sich die Länder wie z.B. USA in der         //richtigen Reihenfolge sortieren


static{
countries.put("Suriname","SR");
countries.put("Svalbard","SJ");
countries.put("Südafrika","ZA");
countries.put("Südkorea","KR");
countries.put("Syrien","SY");

}


public static String getLand(String strFeld, String strValue, String strSize){

StringBuilder sbret = new StringBuilder();
for(String name : countries.keySet())
{
addOptionForCountry(sbret,countries.get(name),strValue);
}
return sbret.toString();
}

Die reihenfolge sieht so aus:
Suriname
Svalbard
Syrien
Südafrika
Südkorea

Aber es muss so aussehen:

Suriname
Südafrika
Südkorea
Svalbard
Syrien
 

Dompteur

Top Contributor
Versuche es einmal so:
Java:
private static final Map<String,String> countries = 
			new TreeMap <String,String>(Collator.getInstance(Locale.GERMAN));
Damit wird eine Vergleichsfunktion verwendet, die nationale Sonderzeichen berücksichtigt.
 

zeyu29

Mitglied
Mit dem Collator.getInstance(Locale.GERMAN) hatte ich auch versucht aber bei den Algorithmen habe ich mich anscheindend vertan.

Vielen Dank! Es hat geklappt :)
 

Oben