ArrayList<String>
을 정렬하고 싶지만 문제는 제 모국어 문자입니다 - 내 알파벳은 a, ą, b, c, č, d, e, f ... z, ž
입니다. 알다시피 z
문자는 끝에서 두 번째이고 ą
은 알파벳 순서로 두 번째입니다. 그래서 배열을 정렬하면 잘못 정렬됩니다. 모든 모국어 문자가 배열 끝으로 이동합니다. 예 :Java 배열 정렬 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);
}
}
}
출력 :
Unsorted:
bbc
ąbc
abc
zzz
Sorted:
abc
bbc
zzz
ąbc
은 다음과 같아야합니다
Sorted:
abc
ąbc
bbc
zzz
[이 질문에]보기 (http://stackoverflow.com/questions/4225523/collator-doesnt-sort-right-for-given-locale) –