同一列表的多个不同视图

时间:2015-06-09 02:03:37

标签: java variable-assignment comparator genetic-algorithm knapsack-problem

我正在尝试为名为Ship的类创建迭代器。这是一个遗传算法的例子。

Ship的两个关键属性是重量和体积(背包问题)。我希望一个迭代器按重量排序,一个按体积排序。

我在设置Ship类的实现Comparable<(?)>接口时遇到了问题。

起初我尝试传递一个名为Value的类,它有一个表示其类型和浮点值的枚举。我有一个CompareTo方法,如下所示:

return int CompareTo(Value arg0)

 switch (arg0.type())

 case WEIGHT:
  return this._weight.compareTo(arg0.value);

...

1 个答案:

答案 0 :(得分:1)

你最好有两个比较器,一个基于重量比较,另一个基于音量,并使用这些比较器按需排序。