亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

排序行為不同?

排序行為不同?

滄海一幻覺 2021-11-24 20:16:04
當我嘗試使用Comparator.naturalOrder()它對字符串數組/列表進行排序時,它不遵守列表的自然順序。這是我使用的片段:List< String > ordered = Arrays.asList( "This", "is", "the", "natural" ,"order");System.out.println( "Natural order" );ordered.forEach( System.out::println );ordered.sort(Comparator.naturalOrder( ));System.out.println( "After ordering" );for ( String string: ordered ) {    System.out.println( string );}輸出:Natural orderThisisthenaturalorderAfter orderingThisisnaturalorderthe為什么Comparator.naturalOrder()會有這樣的行為?當我嘗試時也是如此Comparator.reverseOrder()。
查看完整描述

2 回答

?
達令說

TA貢獻1821條經驗 獲得超6個贊

naturalOrder裝置根據Comparator或純字符串比較次序,源的遭遇順序。這些是完全不同的東西。

可能是一個 StreamInteger會更容易理解:

Stream.of(3,4,1,2)...

遇到順序是 3, 4, 1, 2

排序順序是1, 2, 3, 4- 意味著自然排序(通過Comparator.naturalOrder()


查看完整回答
反對 回復 2021-11-24
?
富國滬深

TA貢獻1790條經驗 獲得超9個贊

naturalOrder()返回按自然順序Comparator比較Comparable對象的a 。

在您的示例中,它按字典順序比較集合的條目。(您為每個字母唱 ASCII 值)。


查看完整回答
反對 回復 2021-11-24
  • 2 回答
  • 0 關注
  • 158 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號