【问题标题】:Custom treemap sorting自定义树形图排序
【发布时间】:2015-01-09 02:59:08
【问题描述】:

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

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

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

【问题讨论】:

  • 你使用什么编程语言?
  • Java,抱歉,不是我写的。

标签: java sorting treemap


【解决方案1】:

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

【讨论】:

  • 有效!穆雷尼克,你太棒了!我花了太多时间。感谢您的帮助:-)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-24
  • 1970-01-01
  • 2015-03-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多