[英]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.