自定义树形图排序

时间:2015-01-09 02:59:09

标签: java sorting treemap

我需要使用地图集合,我决定使用树形图(因为排序键)。但是,树形图按字母方式按照" A - >排序。 ž"然后" a - > ž&#34 ;.例如 input = zgaZGA 输出= AGZagz

有人知道如何从小写开始对它进行排序吗? (我的意思是输出= agzAGZ)

我用Java语言编写(Java SE8) 谢谢你的帮助!

1 个答案:

答案 0 :(得分:0)

您可以提供自己的自定义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());