问题标签 [comparable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
180854 浏览

java - Java:可比与比较器

可能的重复:
compare() 和 compareTo()
之间的区别 Java:实现 Comparable 和 Comparator 有什么区别?

Comparable 和 Comparator 之间的主要区别是什么。

在什么情况下哪个比另一个更受欢迎?

谢谢

更新 - 与示例的良好链接!

http://www.digizol.com/2008/07/java-sorting-comparator-vs-comparable.html

0 投票
1 回答
2076 浏览

java - Grails 中的 SortedSet 不起作用

我想使用SortedSetGrails,但我得到的只是一个 MissingMethodException。

包含排序集的类如下所示:

...以及Comparable像这样实现的类:

当我尝试保存 SystemUser 对象时,我收到此异常消息:

我的示例与官方参考中的示例几乎相同。

0 投票
3 回答
28600 浏览

java - 如何仅在一个类中制作 2 个可比较的方法?

我有一个类,我已经按一个属性对其进行了排序。现在我需要做另一件事,我需要创建另一种方式来对我的数据进行排序。我怎样才能做到,所以我可以在两种方法之间进行选择。我知道的唯一命令是 Collections.sort,它将从我想要比较其数据的类中选择方法 compareTo。

甚至可能吗?

0 投票
3 回答
2353 浏览

java - 对 compareTo 的未经检查的调用

背景

创建一个Map可以按值排序的。

问题

代码按预期执行,但编译不干净:

http://pastebin.com/bWhbHQmT

Comparable将作为通用参数传递给Map.Entry<K, V>(where Vmust be ?)的语法Comparable——以便(Comparable)可以删除警告中显示的类型转换——让我无法理解。

警告

编译器的脾气暴躁的抱怨:

SortableValueMap.java:24: 警告: [unchecked] unchecked call to compareTo(T) as a member of raw type java.lang.Comparable

问题

如何更改代码以在没有任何警告的情况下进行编译(在使用 编译时不抑制它们-Xlint:unchecked)?

有关的

谢谢!

0 投票
3 回答
29675 浏览

java - Java“作为原始类型 java.lang.Comparable 的成员对 compareTo(T) 的未经检查的调用”

我正在尝试将排序列表作为 Java 中的一个简单练习来实现。为了使其通用,我有一个add(Comparable obj)这样我可以将它与任何实现 Comparable 接口的类一起使用。

但是,当我obj.compareTo(...)在代码中的任何地方使用时,我"unchecked call to compareTo(T) as a member of the raw type java.lang.Comparable"从编译器获得(带有-Xlint:unchecked选项)。代码工作得很好,但我不知道如何摆脱那个烦人的消息。

有什么提示吗?

0 投票
6 回答
53647 浏览

java - 为实现 Comparable 的通用类创建 compareTo

我有一个具有两个类型变量的通用类,它实现了 java.lang.Comparable。

因为我用 Comparable 实现了它,所以我需要编写 compareTo() 方法。因为 K, J 可以是任何类型,所以我在如何完全比较它们时遇到了问题。有没有办法在比较中捕获所有可能的类型(原始、包装、对象)?谢谢您的帮助!

0 投票
3 回答
3901 浏览

java - 使用可比较的类进行排序

我只是不确定如何解决这个问题。这是我收到的错误消息:

测试@第 81 行:

p.sort( new FirstOccComparator() );

其中 p 是我制作的规划师课程。

Planner.sort @ 第 62 行:

这是我的 FirstOccComparator 类: http://pastebin.com/4FZv4nXf (发布在 pastebin 上,因为它太宽并且在这里很难格式化)。在此类中 hasMoreOccurrences() 如果有更多的事件重复发生,则返回 true/false。nextOccurrence() 返回下一次出现的日期。

我很确定我在这里缺少的东西非常简单,我在接口和比较器类方面还是新手。

谢谢您的帮助!

0 投票
4 回答
249 浏览

java - 排序方法未正确排序

我正在调用Arrays.sort(schedule, c);where c 是一个比较器的实例,如下所示:

我得到的输出不是它应该的。我想知道是否有人可以在这里指出我正确的方向。这是我做过的第一个排序算法,它使用的概念对我来说仍然是新的(比较器和实现),很抱歉关于我的代码的多个问题:)

编辑 这是输出之间的区别:http: //pastebin.com/LWy1jqkt

有两种事件,它们是 hasMoreOccurrence() 和 nextOccurrence() 方法:

每日活动

每周活动

0 投票
3 回答
122 浏览

java - compareTo 是否有某种预启动延迟?

我刚刚发现了这个说法:“通过首先比较最有可能不同的项目,可以大大提高 compareTo 的性能”。这是真的吗?如果是,为什么?

0 投票
5 回答
18293 浏览

java - 比较字符串时使用 Comparable 接口

我搜索了这个问题,但我只发现了一个令人困惑的线程,所以我将在这里询问我希望能得到更清晰的答案。

我有一个任务是使用 Comparable 接口按客户名称对数组中的对象进行排序。到目前为止,我只用整数完成了这个,所以我不确定如何将字符串比较在一起。我该怎么做呢?这是我到目前为止的位置,假设我要使用 a.name 与 this.name 相比:

我还需要创建一个类来实现 Comparator 接口,以根据客户购买对值进行排序,我认为我这样做是正确的,但我想确保在我把头发弄错之前,它是错误的。这是我为此所做的:

任何帮助是极大的赞赏!