假设一个应用程序产生了许多HashMap<String, MyClass>
数据结构,每个数据结构都包含几十到几百个Comparable
类型的对象MyClass
,这些对象需要以单个和排序的形式结束Collection
。
此功能的两种可能实现返回 SortedSet 或 sorted List,如下所示:
public static Set<MyClass> getSortedSet(HashMap<String, MyClass>... allMaps)
{
SortedSet<MyClass> set = new TreeSet<MyClass>();
Collection<MyClass> c;
for (HashMap<String, MyClass> map:allMaps)
{
c = map.values();
set.addAll(c);
}
return set;
}
public static List<MyClass> getSortedList(HashMap<String, MyClass>... allMaps)
{
List<MyClass> list = new ArrayList<MyClass>();
Collection<MyClass> c;
for (HashMap<String, MyClass> map:allMaps)
{
c = map.values();
list.addAll(c);
}
Collections.sort(list);
return list;
}
以上两种方法中的任何一种都会有明显的性能优势吗?
是否有更快的方法来实现相同的功能?