假设产生数HashMap<String, MyClass>
数据结构,各自含有数十至数百MyClass
类型的Comparable
对象,这需要在一个单一的落得和排序Collection
的一个应用程序。此功能SortedSet的或分类类别
两种可能的实现返回的SortedSet或排序列表如下:
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;
}
会不会有任何明显的性能优势,以任何上述2种方法?
是否有更快的方式来实现相同的功能?
如果你想知道哪个更快,为什么不测量他们的实际数据? – NPE
因为其他人会使用该代码!我所要问的是,一个实施或另一个实施是否有更深的理由? – PNS
您仍然可以始终进行负载测试,以了解更好的性能...... –