自定义树图排序

Custom treemap sorting

我需要使用地图集合,我决定使用树图(因为排序键)。但是,treemap 按字母顺序从 "A -> Z" 到 "a -> z" 对我的列表进行排序。例如 输入 = zgaZGA 输出 = AGZagz

有谁知道如何从小写字母开始排序吗? (我的意思是输出 = agzAGZ)

我正在用 Java 语言写作 (Java SE8) 感谢您的帮助!

您可以提供自己的自定义 Comparator:

public class LowerCaseFirstComaparor implements Comparator<Character> {
    @Override
    public int compare (Character c1, Character c2) {
        if (Character.isLowerCase(c1)) {
            if (Character.isLowerCase(c2)) {
                return c1.compareTo(c2);
            } else {
                return -1;
            }
        } else if (Character.isLowerCase(c2)) {
            return 1;
        } else {
            return c1.compareTo(c2);
        }
}

然后在创建TreeMap时使用它:

Map<Character, SomeClass> map = new TreeMap<>(new LowerCaseFirstComaparor());