如何使用java';s排序函数的排序方式是在11之前对2进行排序?
我使用以下java代码对值进行排序:-如何使用java';s排序函数的排序方式是在11之前对2进行排序?,java,sorting,collections,Java,Sorting,Collections,我使用以下java代码对值进行排序:- Collections.sort(values); 它工作正常,但排序如下:- 110234 我需要它按如下方式排序:- 1 2 3 4 10您可以将a传递到排序调用中,以便在排序期间将字符串转换为数字,或者将值作为数字存储在第一位。比较字符串时,10位于2之前 或者,如果您总是需要以相同的方式排序,请在类中定义一个比较器以(并让它实现的类)并跳过比较器,您可以在排序过程中将a传递到sort调用中,以将字符串转换为数字,或者首先将值存储为数字。比较字符
Collections.sort(values);
它工作正常,但排序如下:-
110234
我需要它按如下方式排序:-
1 2 3 4 10您可以将a传递到排序
调用中,以便在排序期间将字符串转换为数字,或者将值作为数字存储在第一位。比较字符串时,10
位于2
之前
或者,如果您总是需要以相同的方式排序,请在类中定义一个比较器以(并让它实现的类)并跳过比较器,您可以在排序过程中将a传递到sort
调用中,以将字符串转换为数字,或者首先将值存储为数字。比较字符串时,10
位于2
之前
或者,如果您总是需要以相同的方式排序,请在类中定义一个比较器到(并让它实现的类),并跳过正在排序字符串的比较器。您可以更改值来存储Number
的子类,或者实现自己的比较器
来作为sort
方法的段参数传递,该方法将执行“自然排序”
有关更多详细信息,请参见此问题:您正在对字符串进行排序。您可以更改值来存储Number
的子类,或者实现自己的比较器
来作为sort
方法的段参数传递,该方法将执行“自然排序”
查看此问题了解更多详细信息:使用一个列表(而不是一个看起来像你正在使用的列表)。使用一个列表(而不是一个看起来像你正在使用的列表)。然后只需在按字典排序之前比较长度即可(当然要适当修剪)除非你在进行微优化,并且无法负担解析字符串的费用,那么就在按字典顺序(当然是适当修剪)之前比较长度,除非你在进行微优化,并且无法负担解析字符串的费用