当前位置: 首页 > 知识库问答 >
问题:

按字母升序对列表排序

夏侯朝斑
2023-03-14

我下面的代码不起作用,我也不知道为什么。

它编译得很好,但结果似乎没有排序。

import java.util.*;

class SortByName {
  public static void main (String[] args) {
    List<String> nameList1 = new ArrayList<>(Arrays.asList("Joe1","Abe1", "Steven1", "Patrict1"));
    List<String> nameList2 = new ArrayList<>(Arrays.asList("Joe22","Abe2", "Steven2", "Patrict2"));

    Comparator<String> comparator1 = (name1, name2)-> { return name1.length() - name2.length(); };
    nameList1.sort(comparator1);


    Comparator<String> comparator2 = Comparator.comparingInt(String::length);
    nameList2.sort(comparator2);

    nameList1.forEach((str)->System.out.println(str));
    nameList2.forEach((str)->System.out.println(str));
  }
}

共有3个答案

柏高丽
2023-03-14

若你们想按字母顺序对列表排序,你们可以使用下面的比较器

 Comparator<String> comparator1 = (name1, name2) -> {
        return name1.compareTo(name2);
    };
柴辰阳
2023-03-14

您正在按字符串长度执行比较,这很好,因为您的输出是从最短字符串到最长字符串排序的。如果您试图按字母顺序排序,则需要使用内置的字符串类比较函数。这看起来像:

Comparator<String> comparator1 = (name1, name2)-> { return name1.compareTo(name2); };
刘辰钊
2023-03-14

它是按字符串长度排序的,输出应为,

对于列表1

Joe1
Abe1
Steven1
Patrict1

从列表2:

Abe2
Joe22
Steven2
Patrict2

如果你想按字母顺序排序,请编辑你的代码,

Comparator<String> comparator1 = (name1, name2)-> { return name1.compareTo(name2); };
 类似资料:
  • 问题内容: 我是Java的新手,正在尝试按字母顺序排列术语的arrayList。(一个术语定义为一个字符和一个整数)(例如 我的代码如下: 为什么这不起作用?以及我该如何完成呢?我的arrayList称为术语,填充有Term类型 问题答案: 您在这行代码中遇到的问题。您的课程不是So 的类型,这两个对象将基于哪个属性或条件方法? 您必须使您的类为Comparable类型。和,根据您的需要覆盖该方法

  • 问题内容: 我创建了一个sqlite数据库,该数据库具有一个存储温度值的表。第一次将温度值以升序写入数据库。然后,我将数据库中的温度值读取到一个列表中,然后将该列表添加到组合框中以选择温度- 效果很好。 结果列表为: 然后,我向数据库添加一个新的温度值,例如“ 33”。 它被附加到表的末尾。如果我现在阅读温度,列表将变为: 如果我做或,最终的结果是 有什么简单的方法可以按升序对列表进行排序,以便得

  • 问题内容: 我有一个包含国家/地区名称的对象。如何按字母顺序对列表进行排序? 问题答案: 假设这些是字符串,请使用方便的静态方法sort……

  • 问题内容: 我通过使用ng-option填充了一个下拉列表,该下拉列表已挂接到依次调用服务的控制器上。不幸的是,输入的数据是一团糟,我需要能够按字母顺序对其进行排序。 您认为类似的事情可以做到,但不幸的是,它并没有成功。我知道我可以使用辅助方法或类似方法通过javascript对其进行排序,但是我拒绝相信没有更干净的方法可以做到这一点,而且我不想使用辅助方法来夸大控制器。原则上,它是如此基本,所以

  • 问题内容: 我在这里有点深,我希望这实际上是可能的。 我希望能够调用一个函数,该函数将按字母顺序对列表中的所有项目进行排序。 我一直在寻找通过jQuery UI进行排序,但事实并非如此。有什么想法吗? 问题答案: 你 不会 需要jQuery来做到这一点… 易于使用…