同一列表的多个不同视图[重复]

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以两种不同的方式处理同一个项目,我不知道为啥[重复]

创建一个应用程序,对同一个 Web 应用程序具有多个视图,但使用不同的凭据?

SwiftUI如何让绑定到同一个状态的多个TextField呈现出不同输入行为