gpt4 book ai didi

java - 在对象中表示优先级/偏好的最佳方式是什么?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:22:33 24 4
gpt4 key购买 nike

在域中建模优先级/偏好的最佳方法是什么?
例如。假设我有一个类 Person 代表一个人并且有一些偏好,例如PersonX 喜欢比萨饼、意大利面条和煎蛋卷,实际上他更喜欢意大利面条而不是比萨饼。
这些最佳模型是如何建模的?
第一个想法是将它们放在 List 中(作为 Person 的成员变量)根据插入顺序保持偏好,例如列表中的第一个是最受欢迎的,然后列表中的第二个是第二个最喜欢的等等,但在我看来这最终太乏味了。例如。当我想搜索或关联偏好等时。
也许有解决此类问题的标准方法?

最佳答案

您可以按照您的建议使用该列表,并向您的 Person 类添加一个返回 Comparator<Preference> 的方法。这将能够比较那个人的 2 个偏好:

Person somebody.addPreference(pizzaPreference);
Person somebody.addPreference(omelettePreference);
....
Comparator<Preference> c = somebody.getPreferenceComparator();
boolean prefersPizzaOverOmelette = (c.compare(pizzaPreference, omelettePreference) > 0);
boolean hasNoPreferenceBetweenPizzaAndOmelette = (c.compare(pizzaPreference, omelettePreference) == 0);

比较器会简单地检查列表中偏好的索引(如果它包含该偏好等)。

关于java - 在对象中表示优先级/偏好的最佳方式是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10399598/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com