【发布时间】:2014-04-20 19:09:21
【问题描述】:
这个方法应该在 TreeMaps 键上进行迭代。然后它应该将键添加到 ArrayList 变量,因为我需要将它作为一个返回。我想做的另一件事是对 ArrayList 进行排序。
ArrayList<String> getVehiclenames() {
ArrayList<String> vehicleList = new ArrayList<>();
for (String elem : vehicles.keySet()) {
vehicleList.add(elem);
}
Collections.sort(vehicleList);
return vehicleList;
}
我不能 100% 确定这是否有效,但无论如何我仍然无法相信调用集合方法只是对我的车辆列表进行排序。我期待像 vehicleList = Collections.sort(vehicleList); 这样的东西。
我的问题:这是这样工作的吗?如果是的话:那是如何工作的?我试着查了一下,但我的知识现在还没有。
【问题讨论】:
-
排序是指按字母顺序排序。
-
通过从treemap中获取key,你已经得到了一个排序的列表,为什么还要再次排序呢?
-
TreeMap中的键已经排序。无需再次对它们进行排序,除非您使用不同的排序顺序。 -
@David Wallace:是的,我以前读过。但我不确定 TreeMap 如何对其进行排序。如果我在那里有字符串,每次我在那里添加一个元素时它是否按字母顺序排序?
-
请参阅this 问题。它应该帮助你理解。