2010-03-24 4 views
1

У меня есть требование сортировать коллекцию объектов, они показаны на веб-странице в табличном формате. Моя отсортирован коллекция создана какЭффективный способ сортировки коллекции объектов

TreeSet<MyObject> objs= new TreeSet<MyObject>(); 

В настоящее время MyObject реализует Сопоставимые интерфейс для обеспечения сортировки. В объекте compareTo объект проверяется с датой создания в качестве моей логики сортировки.

Теперь у меня есть требование сортировать эту коллекцию на основе другой переменной экземпляра класса. После изучения вариантов для этого у меня есть две идеи для этого выполнения,

  1. Использовать Comparator. В этом классе я могу реализовать свою логику для сортировки коллекции.
  2. Создайте запрос базы данных, чтобы вернуть отсортированную коллекцию для MyObject. Я могу использовать ORDER BY Оптимизация для этого.

Итак, я хотел бы узнать ваше мнение об обоих подходах и о том, что должно быть оптимальным решением для такого требования.

ответ

9

Если у вас уже есть объекты в памяти, то сортировка их с помощью Comparator определенно быстрее.

Если вы все равно запрашиваете их из БД, то использование ORDER BY определенно проще и, вероятно, быстрее.

+0

@Joachim Sauer +1 w00w очень красивый и все же простой ответ – ant

Смежные вопросы