Java 如何按字母顺序返回姓名?

Java 如何按字母顺序返回姓名?,java,return,Java,Return,我有两个用户的名字 我想比较它们并按字母顺序显示它们 我尝试了compareTo方法,但它只返回一个int 编辑:找到答案!再次感谢各位 最简单的方法是将它们存储在一个数据结构中,该结构固有地对它们的内容进行排序(通常在内部调用compareTo) 除此之外,还有一种静态方法可以对现有数据进行排序。最简单的方法是将它们存储在一个数据结构中,这样就可以对它们的内容进行固有的排序(通常在内部调用compareTo) 否则,还有一种静态方法可以对现有文件进行排序。Java中内置了一些排序方法。尝试将名

我有两个用户的名字

我想比较它们并按字母顺序显示它们

我尝试了compareTo方法,但它只返回一个int


编辑:找到答案!再次感谢各位

最简单的方法是将它们存储在一个数据结构中,该结构固有地对它们的内容进行排序(通常在内部调用
compareTo


除此之外,还有一种静态方法可以对现有数据进行排序。

最简单的方法是将它们存储在一个数据结构中,这样就可以对它们的内容进行固有的排序(通常在内部调用
compareTo


否则,还有一种静态方法可以对现有文件进行排序。

Java中内置了一些排序方法。尝试将名称放入数组中,并使用数组。

Java中内置了排序方法。尝试将名称放入一个数组中,并使用。

您需要对它们进行排序(compareTo方法为排序算法提供了所需的信息,以了解什么在什么之前)。要对它们进行排序,您需要将它们放在一个列表中,然后使用Collections.sort()方法。

您需要对它们进行排序(compareTo方法为排序算法提供它需要的信息,以了解什么在什么之前)。要对它们进行排序,您需要将它们放入一个列表中,然后使用Collections.sort()方法。

假设您有两个以上的名称,但也可以这样做:

   // Create a list
    String[] strArray = new String[] {"z", "a", "C"};
    List list = Arrays.asList(strArray);

    // Sort
    Collections.sort(list);
    // C, a, z

    // Case-insensitive sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    // a, C, z

    // Reverse-order sort
    Collections.sort(list, Collections.reverseOrder());
    // z, a, C

    // Case-insensitive reverse-order sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    Collections.reverse(list);
    // z, C, a
对你来说,假设你有两个以上的名字,尽管这也适用:

   // Create a list
    String[] strArray = new String[] {"z", "a", "C"};
    List list = Arrays.asList(strArray);

    // Sort
    Collections.sort(list);
    // C, a, z

    // Case-insensitive sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    // a, C, z

    // Reverse-order sort
    Collections.sort(list, Collections.reverseOrder());
    // z, a, C

    // Case-insensitive reverse-order sort
    Collections.sort(list, String.CASE_INSENSITIVE_ORDER);
    Collections.reverse(list);
    // z, C, a
你说:“我有两个名字”——假设你的意思是“我有两个名字”

如果您有两个字符串,那么只有两种可能的返回方法。要么是A,B,要么是B,A。这两个字符串只有三种可能的排序方式

要么:

  • 第一个字符串位于第二个字符串之前(按原样返回)
  • 第二个字符串位于第一个字符串之前(交换它们,然后返回)
  • 这两个字符串相等(以任意顺序返回,这无关紧要)
事实证明,根据,
String.compareTo()
方法实际上为您提供了一个映射到这三种可能状态的值:

如果 此字符串按字典顺序显示对象 在参数字符串之前。这个 如果以下情况,则结果为正整数 按字典顺序串对象 跟随参数字符串。这个 如果字符串为0,则结果为0 平等的;compareTo精确返回0 当equals(Object)方法 返回true

你说:“我有两个名字”——假设你的意思是“我有两个名字”

如果您有两个字符串,那么只有两种可能的返回方法。要么是A,B,要么是B,A。这两个字符串只有三种可能的排序方式

要么:

  • 第一个字符串位于第二个字符串之前(按原样返回)
  • 第二个字符串位于第一个字符串之前(交换它们,然后返回)
  • 这两个字符串相等(以任意顺序返回,这无关紧要)
事实证明,根据,
String.compareTo()
方法实际上为您提供了一个映射到这三种可能状态的值:

如果 此字符串按字典顺序显示对象 在参数字符串之前。这个 如果以下情况,则结果为正整数 按字典顺序串对象 跟随参数字符串。这个 如果字符串为0,则结果为0 平等的;compareTo精确返回0 当equals(Object)方法 返回true


如果只有两个名称,请使用compareTo()方法。 如果你有很多,使用其他解决方案(将它们添加到列表中并排序)


始终首选“Arrays.asList(strArray);”而不是“new ArrayList()”,如果不可能,为了性能起见,请在构造函数上指定列表大小。

如果只有两个名称,请使用compareTo()方法。 如果你有很多,使用其他解决方案(将它们添加到列表中并排序)


总是喜欢“Arrays.asList(strArray);”而不是“new ArrayList()”,如果不可能,为了性能起见,指定构造函数上的列表大小。

限制条件是,如果您有重复的名称,它们将通过树集减少到只有一个。限制条件是,如果您有重复的名称,它们将通过树集减少到只有一个。这是两个名称吗?如果是,那么根据比较结果,您可以按顺序显示它们。您将如何进行?比数组更简单?这是两个名称吗?如果是,那么根据比较结果,您可以按顺序显示它们。您将如何进行?比阵列更简单?哦,呵呵,更简单的方法!是的,很抱歉打错了谢谢它起作用了!呵呵,一个更简单的方法!是的,很抱歉打错了谢谢它起作用了!