同一列表的多个不同视图[重复]
Posted
技术标签:
【中文标题】同一列表的多个不同视图[重复]【英文标题】:Multiple differing views of the same list [duplicate] 【发布时间】:2015-06-09 02:03:36 【问题描述】:我正在尝试为一个名为 Ship 的类创建迭代器。这是一个遗传算法示例。
Ship 的两个关键属性是重量和体积(背包问题)。我想要一个按重量排序的迭代器和一个按体积排序的迭代器。
我在为 Ship 类设置实现 Comparable<(?)>
接口时遇到问题。
起初我试图传递一个名为 Value 的类,它有一个表示其类型的枚举和一个浮点值。我有一个看起来像这样的CompareTo
方法:
return int CompareTo(Value arg0)
switch (arg0.type())
case WEIGHT:
return this._weight.compareTo(arg0.value);
...
【问题讨论】:
查看internet上的示例 你给出的例子是使用 Comparable (我在那里举例,但随着问题的出现,我希望有两种方法。如果管理员可以显示我的问题的副本,那就太好了. 但最终我只是被千刀万剐,因为我没有以最正式的方式接近。 【参考方案1】:最好有两个比较器,一个根据重量进行比较,一个根据体积进行比较,然后使用这些比较器按需排序。
【讨论】:
谢谢你是 100% 正确的。我正在概述我卡住的代码。我使用的是可比较的派生比较器,但我可以使用 Ship 对象和枚举创建一个新的比较器以上是关于同一列表的多个不同视图[重复]的主要内容,如果未能解决你的问题,请参考以下文章
组合列表中的元素:似乎python以两种不同的方式处理同一个项目,我不知道为啥[重复]