3 回答
TA贡献1856条经验 获得超17个赞
我觉得我以前见过这个,但你可以在 Java 8+ 中尝试以下操作(numbersList
String[] 在哪里):
Arrays.sort(numbersList, Comparator.comparing(Integer::valueOf));
此外,在您的代码中,您的 初始化有问题range
,因为 Integer.parseInt 的括号未关闭,并且参数错误。它应该替换为以下内容:
int[] range = IntStream.rangeClosed(1, 30).toArray();
执行此操作后不需要排序,因为IntStream.rangeClosed承诺 IntStream 中的所有元素都将按排序顺序提供。
TA贡献1810条经验 获得超5个赞
如果您有一个字符串列表,则需要将它们作为整数进行比较以进行排序。在 Java 8+ 中,您可以执行以下操作:
listOfStrings.sort( Comparator.comparing( Integer::valueOf ) );
例子 :
List< String > strings = Arrays.asList( "1","3","0","21","4","2","3");
strings .sort( Comparator.comparing( Integer::valueOf ) );
System.out.println( strings );
//prints [0, 1, 2, 3, 3, 4, 21]
TA贡献1860条经验 获得超8个赞
一个更有效的替代方法是坚持比较int
s(基元)而不是Integer
s(对象):
Arrays.sort(numbers, Comparator.comparingInt(Integer::parseInt));
添加回答
举报