如何使用java';s排序函数的排序方式是在11之前对2进行排序?

如何使用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调用中,以将字符串转换为数字,或者首先将值存储为数字。比较字符

我使用以下java代码对值进行排序:-

 Collections.sort(values);
它工作正常,但排序如下:- 110234

我需要它按如下方式排序:- 1 2 3 4 10

您可以将a传递到
排序
调用中,以便在排序期间将字符串转换为数字,或者将值作为数字存储在第一位。比较字符串时,
10
位于
2
之前

或者,如果您总是需要以相同的方式排序,请在类中定义一个
比较器以
(并让它实现的类)并跳过
比较器

,您可以在排序过程中将a传递到
sort
调用中,以将字符串转换为数字,或者首先将值存储为数字。比较字符串时,
10
位于
2
之前


或者,如果您总是需要以相同的方式排序,请在类中定义一个
比较器到
(并让它实现的类),并跳过正在排序
字符串的
比较器。您可以更改值来存储
Number
的子类,或者实现自己的
比较器
来作为
sort
方法的段参数传递,该方法将执行“自然排序”


有关更多详细信息,请参见此问题:

您正在对
字符串进行排序。您可以更改值来存储
Number
的子类,或者实现自己的
比较器
来作为
sort
方法的段参数传递,该方法将执行“自然排序”


查看此问题了解更多详细信息:

使用一个
列表(而不是一个看起来像你正在使用的
列表)。

使用一个
列表(而不是一个看起来像你正在使用的
列表)。

然后只需在按字典排序之前比较长度即可(当然要适当修剪)除非你在进行微优化,并且无法负担解析字符串的费用,那么就在按字典顺序(当然是适当修剪)之前比较长度,除非你在进行微优化,并且无法负担解析字符串的费用