对对象集合进行排序的高效方法
问题描述:
我有一个要求对一组对象进行排序的要求,它们以表格的形式显示在网页上。我的分类收集就像对对象集合进行排序的高效方法
TreeSet<MyObject> objs= new TreeSet<MyObject>();
创建目前MyObject
正在实施可比接口提供分拣。在compareTo
方法对象被检查创建的日期作为我的排序逻辑。
现在我已经有了一个基于类的各种其他实例变量对这个集合进行排序的需求。经过探索选项来实现这一点,我有两个想法执行,
- 使用
Comparator
。在这个课堂上,我可以实现我的逻辑来对收集进行排序。 - 创建数据库查询以返回
MyObject
的排序集合。我可以使用ORDER BY
优化来实现这一点。
所以,我想知道你对这两种方法的看法,以及对于这样的要求应该是什么应该是最佳的最佳解决方案。
答
如果您已经有内存中的对象,那么使用Comparator
排序它们肯定会更快。
如果您每次都从数据库查询它们,那么使用ORDER BY
肯定更容易,也可能更快。
@Joachim Sauer +1 w00w很好,但如此简单的答案 – ant 2010-03-24 13:36:08