Bir ArrayList<String>
sıralamak istiyorum ama sorun benim ana dil karakterlerim - alfabe şu şekilde: a, ą, b, c, č, d, e, f ... z, ž
. Gördüğünüz gibi z
karakteri sondan ikinci ve ą
alfabede ikinci, bu yüzden dizimi sıraladıktan sonra yanlış sıralanır. Tüm ana dil karakterleri dizinin sonuna taşındı. Örnek:Java dizi sıralaması UTF-8
package lt;
import java.util.ArrayList;
import java.util.Collections;
public class test {
public static void main(String[] args) {
List<String> items = new ArrayList<>();
items.add("bbc");
items.add("ąbc");
items.add("abc");
items.add("zzz");
System.out.println("Unsorted: ");
for(String str : items) {
System.out.println(str);
}
Collections.sort(items);
System.out.println();
System.out.println("Sorted: ");
for(String str : items) {
System.out.println(str);
}
}
}
Çıktı:
Unsorted:
bbc
ąbc
abc
zzz
Sorted:
abc
bbc
zzz
ąbc
olmalı:
Sorted:
abc
ąbc
bbc
zzz
[Bu soru] bölümüne bakın (http://stackoverflow.com/questions/4225523/collator-doesnt-sort-right-for-given-locale) –