Эффективный способ сортировки коллекции объектов - PullRequest
1 голос
/ 24 марта 2010

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

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

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

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

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

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

1 Ответ

9 голосов
/ 24 марта 2010

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...