多数のデータ構造を生成するアプリケーションを想定しますHashMap<String, MyClass>
。各データ構造には、数十から数百Comparable
のタイプのオブジェクトが含まMyClass
れ、最終的には1つのソートされたオブジェクトになる必要がありCollection
ます。
この機能の2つの可能な実装は、次のように、SortedSetまたはSortedListを返します。
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つの方法のいずれかに明確なパフォーマンス上の利点はありますか?
同じ機能を実装するより速い方法はありますか?