繁体   English   中英

Java Stream.sorted()给出错误的结果

[英]Java Stream.sorted() gives wrong result

我有列表{"100","5","1","300","7"} ,当我对这个列表使用stream().sorted() ,得到的结果如下{"1","100","300","5","7"} 看起来它仅按第一位排序。 怎么了?

ArrayList<String> list = new ArrayList<>(Arrays.asList(
            "100","5","1","300","7"
));

list.stream().sorted().forEach(e -> System.out.println(e));

列表值按字典顺​​序排序。 您可以转换值

list.stream().sorted((s1, s2)-> new Integer(s1).compareTo(new Integer(s2))).forEach(System.out::println);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM