所以我最初尝试使用。
listOfStrings = listOfStrings.sorted();
Ordering user11, user10, user20, user04 etc...
这段文字提到了 JavaDoc,其中说明它将创建一个具有自然排序的列表。
用户抱怨排序有问题,因此我认为需要编写比较器,但幸运的是,IntelliJ自动填充了代码。
listOfStrings = listOfStrings.sorted(Comparator.<String>naturalOrder());
Ordering user01, user02, user03, user04 etc...
我的第一反应是它会返回相同的内容,但它按照我想要的方式对字符串进行排序。 Comparator.naturalOrder 的文档也涉及到自然顺序。
那么我在文档中错过了什么?
我的阅读文档的理解是它们应该以相同的顺序排序列表。有人明白为什么它们不这样做吗?
从文本文件中读取字符串,作为哈希映射中的键:user01,user02,user03.user04,user05,user06,user07,user08,user09,user10,user11,user12,user13,user14,user15,user16, user17,user18,user19,user20。
for (String user: userMap.keySet()) {
listOfStrings.add(user);
}
// listOfStrings = listOfStrings.sorted(); //
listOfStrings = listOfStrings.sorted(Comparator.<String>naturalOrder());