3 回答

TA貢獻1856條經(jīng)驗 獲得超17個贊
我覺得我以前見過這個,但你可以在 Java 8+ 中嘗試以下操作(numbersList
String[] 在哪里):
Arrays.sort(numbersList,?Comparator.comparing(Integer::valueOf));
此外,在您的代碼中,您的 初始化有問題range
,因為 Integer.parseInt 的括號未關閉,并且參數(shù)錯誤。它應該替換為以下內(nèi)容:
int[]?range?=?IntStream.rangeClosed(1,?30).toArray();
執(zhí)行此操作后不需要排序,因為IntStream.rangeClosed承諾 IntStream 中的所有元素都將按排序順序提供。

TA貢獻1810條經(jīng)驗 獲得超5個贊
如果您有一個字符串列表,則需要將它們作為整數(shù)進行比較以進行排序。在 Java 8+ 中,您可以執(zhí)行以下操作:
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條經(jīng)驗 獲得超8個贊
一個更有效的替代方法是堅持比較int
s(基元)而不是Integer
s(對象):
Arrays.sort(numbers, Comparator.comparingInt(Integer::parseInt));
添加回答
舉報