【问题标题】:How to sort by second char? [closed]如何按第二个字符排序? [关闭]
【发布时间】:2013-03-28 21:06:49
【问题描述】:

我是 Java 新手,我必须为研究所完成这项任务

我有一个代码,它必须按字母按第二个字符对输入字符串中的单词进行排序。 那么,谁能告诉我如何进行排序?

【问题讨论】:

  • 您在这方面有什么问题?您提供的代码太多,您应该减少代码示例。删除与您的问题不直接相关的任何内容,例如输入/输出或拆分字符串;只留下您已经尝试对单词列表进行排序的部分。
  • @millimoose 这是没有排序的代码。我只是根本不知道做排序
  • 您是否阅读过 Google 在搜索“java 中的排序对象”时返回的数千页?
  • @JB Nizet 是的,但我不知道如何按第二个字符排序
  • @antoxa2584 那为什么要发布与您的问题无关的一百行代码呢?如果你在任何地方都没有List<String>,那么“排序单词”就不是你真正的问题,因为还没有任何东西可以排序。

标签: java sorting char


【解决方案1】:

如果您想按第二个char 排序,则只需使用自定义比较器:

public static void main(String[] args) throws IOException, ClassNotFoundException {
    final List<String> strings = new ArrayList<>();
    strings.add("adaaa");
    strings.add("bbaaa");
    strings.add("dcaaaa");
    strings.add("zaaaaa");
    Collections.sort(strings, new Comparator<String>() {
        @Override
        public int compare(String o1, String o2) {
            return Character.compare(o1.charAt(1), o2.charAt(1));
        }
    });
    System.out.println(strings);
}

输出:

[zaaaaa, bbaaa, dcaaaa, adaaa]

【讨论】:

  • 可以在 1.6 jdk 中更简单地完成吗?
  • 更简单是什么意思?我确信您能够在 chars 中添加通用参数并将其装箱,以便它可以在 1.6 上运行。
  • 没关系)你能写吗,我不明白,你的意思..
猜你喜欢
  • 2022-01-04
  • 1970-01-01
  • 1970-01-01
  • 2016-05-25
  • 2019-12-01
  • 2018-04-07
  • 2021-12-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多