第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

按數(shù)字順序?qū)?shù)字的 ArrayList 進行排序

按數(shù)字順序?qū)?shù)字的 ArrayList 進行排序

qq_花開花謝_0 2023-06-14 14:17:42
我有一個數(shù)字字符串列表(它們可以是一個 int 列表,只需要將它變成一個數(shù)組列表即可返回),這個數(shù)字可以來自一個范圍,例如從 1 到 25。我嘗試使用對它們進行排序Collections.sort(numbersList);,但它以一種奇怪的方式對它們進行排序。例如,這是當前排序:11011..22021..我真正想要的是按數(shù)字順序?qū)λM行排序,例如:123..1011..試圖將它們排序為int[]withArrays.sort(numbers);但它給出了相同的結果。這是我用來生成數(shù)字并將它們轉(zhuǎn)換為數(shù)組列表的代碼。int[] range = IntStream.rangeClosed(1, 30).toArray();Arrays.sort(range);List<String> rangeList = new ArrayList<>();for (int number : range) {    rangeList.add(String.valueOf(number));}
查看完整描述

3 回答

?
慕慕森

TA貢獻1856條經(jīng)驗 獲得超17個贊

我覺得我以前見過這個,但你可以在 Java 8+ 中嘗試以下操作(numbersListString[] 在哪里):

Arrays.sort(numbersList,?Comparator.comparing(Integer::valueOf));

此外,在您的代碼中,您的 初始化有問題range,因為 Integer.parseInt 的括號未關閉,并且參數(shù)錯誤。它應該替換為以下內(nèi)容:

int[]?range?=?IntStream.rangeClosed(1,?30).toArray();

執(zhí)行此操作后不需要排序,因為IntStream.rangeClosed承諾 IntStream 中的所有元素都將按排序順序提供。


查看完整回答
反對 回復 2023-06-14
?
森欄

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]


查看完整回答
反對 回復 2023-06-14
?
桃花長相依

TA貢獻1860條經(jīng)驗 獲得超8個贊

一個更有效的替代方法是堅持比較ints(基元)而不是Integers(對象):

Arrays.sort(numbers, Comparator.comparingInt(Integer::parseInt));


查看完整回答
反對 回復 2023-06-14
  • 3 回答
  • 0 關注
  • 185 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號