java中List排序無效的問題


今天使用List的排序功能,結果發現怎么排序,都沒能成功。

1 list = list.stream().sorted((pre, cur) -> Double.parseDouble(pre) - Double.parseDouble(cur) > 0 ? 0 : 1).collect(Collectors.toList());

最終發現原因,比較器的返回值為正數或負數時才有意義,為0時沒法排序。改成一下代碼就行

1 list = list.stream().sorted((pre, cur) -> Double.parseDouble(pre) - Double.parseDouble(cur) > 0 ? -1 : 1).collect(Collectors.toList());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM