我想对ArrayList<String>
进行排序,但问题是我的母语字符 - 我的字母表是这样的:a, ą, b, c, č, d, e, f ... z, ž
。如您所见z
字符从结尾开始是第二个而ą
在字母表中是第二个,因此在对数组进行排序后,它的排序不正确。我的所有母语字符都移动到数组的末尾。例如:
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