我有一系列需要按规则订购的对象。但是我需要能够切换规则,但是我有一组有限的排序规则。哪种数据结构是最好的选择?
作为一个例子,我有这个类:
class Test {
public final int amount;
public final int cost;
public final String name;
public final int whatever;
// ...
// TODO: add a constructor to set the fields :-)
}
我如何存储这些字段以按金额、成本、名称或其他方式对它们进行排序。但只是其中一个规则。
我可以想象使用 anArrayList
或 aHashSet
来调用排序函数和 custom Comparator
。但我无法想象这就是效率。我认为这在移动设备上很重要。有什么更好的方法来实现这一目标?