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