所以我有来自STDIN的数据,我每行创建一个包含数字数据字段的对象。基于此字段,我想将它们排序为PriorityQueue或LinkedList。在这个排序之后,我将计算要保持的对象的另一个值(值将基于频率等)。然后,我想使用第二个值作为新标准将其排序为另一个PQ或LL。
每次使用不同的标准对同一对象进行两次排序的最佳方法是什么?我不想只使用不同的compareTo方法创建两种类型的同一对象。我希望有更好的方法。
答案 0 :(得分:4)
您应该使用隔离专区,而不是在对象本身中实现Comparable: http://docs.oracle.com/javase/6/docs/api/java/util/Comparator.html
这使您可以使用不同的比较逻辑比较相同的对象。