3 回答
TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超17個(gè)贊
我覺(jué)得我以前見(jiàn)過(guò)這個(gè),但你可以在 Java 8+ 中嘗試以下操作(numbersListString[] 在哪里):
Arrays.sort(numbersList,?Comparator.comparing(Integer::valueOf));
此外,在您的代碼中,您的 初始化有問(wèn)題range,因?yàn)?Integer.parseInt 的括號(hào)未關(guān)閉,并且參數(shù)錯(cuò)誤。它應(yīng)該替換為以下內(nèi)容:
int[]?range?=?IntStream.rangeClosed(1,?30).toArray();
執(zhí)行此操作后不需要排序,因?yàn)镮ntStream.rangeClosed承諾 IntStream 中的所有元素都將按排序順序提供。
TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
如果您有一個(gè)字符串列表,則需要將它們作為整數(shù)進(jìn)行比較以進(jìn)行排序。在 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貢獻(xiàn)1860條經(jīng)驗(yàn) 獲得超8個(gè)贊
一個(gè)更有效的替代方法是堅(jiān)持比較ints(基元)而不是Integers(對(duì)象):
Arrays.sort(numbers, Comparator.comparingInt(Integer::parseInt));
添加回答
舉報(bào)
