Если у меня есть Map
, как это:
HashMap<Integer, ComparableObject> map;
и я хочу получить набор значений, отсортированных с использованием естественного упорядочения, который наиболее быстрый?
(А)
Создайте экземпляр сортируемой коллекции, такой как ArrayList
, добавьте значения, затем выполните сортировку:
List<ComparableObject> sortedCollection = new ArrayList<ComparableObject>(map.values());
Collections.sort(sortedCollection);
(B)
Создайте экземпляр упорядоченного набора, например TreeSet
, затем добавьте значения:
Set<ComparableObject> sortedCollection = new TreeSet<ComparableObject>(map.values());
Обратите внимание, что результирующая коллекция никогда не изменяется, поэтому сортировка должна выполняться только один раз.