【发布时间】:2012-11-29 09:59:00
【问题描述】:
我正在使用Comparator 实现对大量对象进行排序。根据此集合中对象的类型,排序需要几毫秒到半分钟。 在排序时有什么方法可以确定Comparator 的进度吗?我想为用户可视化。
Collections.sort(sorted, new Comparator<Object[]>() {
public int compare(Object[] o1, Object[] o2) {
/* do it... */
return order;
}
}
该集合可能包含简单的短字符串对象、日期对象或(最坏情况)CLOB 对象,它们需要在排序时获取数据。
【问题讨论】:
-
比较器本身没有“进度”(因为它只需要几毫秒)。您需要跟踪 sort 调用的进度 - 我认为这只能通过使用您自己的实现来完成。
-
好点...我应该看看 Collections 类或类似的类。
-
刚刚找到stackoverflow.com/questions/3956142/… 有这个提示...
-
我将解决方案更新为只排序一次。
-
"半分钟" 我怀疑你做错了什么,如果它花了这么长时间。你应该考虑优化你的代码。
标签: java sorting progress comparator