Java 如何按字母顺序返回姓名?
我有两个用户的名字 我想比较它们并按字母顺序显示它们 我尝试了compareTo方法,但它只返回一个intJava 如何按字母顺序返回姓名?,java,return,Java,Return,我有两个用户的名字 我想比较它们并按字母顺序显示它们 我尝试了compareTo方法,但它只返回一个int 编辑:找到答案!再次感谢各位 最简单的方法是将它们存储在一个数据结构中,该结构固有地对它们的内容进行排序(通常在内部调用compareTo) 除此之外,还有一种静态方法可以对现有数据进行排序。最简单的方法是将它们存储在一个数据结构中,这样就可以对它们的内容进行固有的排序(通常在内部调用compareTo) 否则,还有一种静态方法可以对现有文件进行排序。Java中内置了一些排序方法。尝试将名
编辑:找到答案!再次感谢各位 最简单的方法是将它们存储在一个数据结构中,该结构固有地对它们的内容进行排序(通常在内部调用
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()”,如果不可能,为了性能起见,指定构造函数上的列表大小。限制条件是,如果您有重复的名称,它们将通过树集减少到只有一个。限制条件是,如果您有重复的名称,它们将通过树集减少到只有一个。这是两个名称吗?如果是,那么根据比较结果,您可以按顺序显示它们。您将如何进行?比数组更简单?这是两个名称吗?如果是,那么根据比较结果,您可以按顺序显示它们。您将如何进行?比阵列更简单?哦,呵呵,更简单的方法!是的,很抱歉打错了谢谢它起作用了!呵呵,一个更简单的方法!是的,很抱歉打错了谢谢它起作用了!