问题标签 [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 回答
40156 浏览

java - Java:要在充满自定义对象的 ArrayList 中使用包含,我应该覆盖等于还是实现 Comparable/Comparator?

我有一个充满这些的 ArrayList:

我用这个查询它:

我发现里面有重复的元素transitionStatesArray,这是为什么呢?

我正在使用这些 i、j 和方向值来填充矩阵中的唯一值,但这里我有一个副本:

0 投票
4 回答
11520 浏览

java - 实现可比较的接口

我刚刚发现了这个考试问题,但无法弄清楚:

下面描述了一个人为的部分类,它实现了 Comparable 接口。这个人为类的唯一目的是将其实例与给定的字符串进行比较。

我们需要在课堂上填写两件事来完成它。这是课程:

我假设第 1 部分仅对应于:

第 2 部分,我假设他期待 compareTo 方法的实现,但我真的不知道如何正确地实现这个:

我将如何解决这个问题?

0 投票
4 回答
2203 浏览

c# - 我可以检查一个对象是否可以与其他类型相比较吗?

我想写一些这样的代码:

这可能吗?如果没有,是否有另一种方法来确定这一点?

0 投票
1 回答
769 浏览

java - 在 PriorityQueue 中维护条目序列

我正在尝试在 Java 中使用 PriorityQueue。

我有一些自定义对象,我以这种方式将它们添加到队列中:

此时,我意识到我的 Pet 对象必须实现 Comparable 才能不从 PriorityQueue 中获取 ClassCastException。所以我让我的 Pet 实现 Comparable,然后只返回 0 覆盖 copmareTo(obj) 方法。

但奇怪的是这里。当我...

既然我按 pet1、pet2 和 pet3 的顺序添加了它们,为什么在我第一次调用 poll() 时,它会对我的宠物序列进行排序?然后整个事情不再是一个队列,因为它的入口序列没有被保留,不是吗?

我怀疑它可能与 Comparable 接口和 compareTo(obj) 方法有关。但我所需要的只是让它保持其输入顺序,所以我根本不需要比较任何东西或对任何东西进行排序。

如何维护其在队列中的进入顺序?

谢谢!

0 投票
4 回答
4168 浏览

java - 如何对集合中的两个不同对象进行排序?

假设我有两个类 CLassA 和 CLassB。它们有一个共同的属性,例如每个类拥有的元素数量。

如何从 ClassA 和 CLassB 的对象创建一个集合并按该属性排序(降序的升序,没关系)?

我创建了一个类型的集合,但是当我尝试实现 Comparable Interface 时,我无法访问该方法(例如,返回 nr 元素的 get )。

我有什么解决方案?

谢谢你的帮助!

0 投票
6 回答
52146 浏览

java - 使用 Collections.sort(object) 比较 Long 值

我正在尝试按 long 对一个简单的对象列表进行排序 - 下面不起作用,因为其中一个长字符串被推到顶部只是因为它以较低的数字开头。所以我正在寻找一种方法来直接按实际的 long 值对它们进行排序

当前的 obj 实现如下所示。在我使用这个的类中,我调用 Collections.sort(trees);

0 投票
4 回答
2275 浏览

java - 在通用 java 数据结构中扩展类 AND 可比较

对于家庭作业,我被分配制作一个 AVL 树数据结构。我正在尝试使我的“添加”方法将一条通用数据添加到树中。我的问题是,在作业中,我们必须扩展一个给我们的名为“BinaryTree”的类。在我的 add 方法中,我需要使用 compareTo 方法,我相信这意味着我还必须扩展 Comparable。我在网上看过,显然你不能扩展两个类,所以这成了一个问题。我决定尝试在我的 AVL 树类中编写自己的 compareTo 方法,但它说 < 和 > 不能应用于我的泛型类型。任何提示或快速解决方法?还是我只是愚蠢?

谢谢 - 史蒂夫

0 投票
2 回答
360 浏览

java - 如何通过 Collections 改进对 Map 值的排序

当我需要根据值对 Map 进行排序时,我经常会遇到这种情况。地图在 JDK 中并不适用,我决定不使用 Guava(似乎这个东西是一个班轮,但我不太明白)也不是 Apache Commons,所以我这样做了。顺便说一句,是一个非常受欢迎的问题,但大多数答案在某种程度上都是错误的。

我的问题是,有没有更好的方法将 EntrySet 与 Collection 联系起来?看起来不太好。

这可靠吗?

0 投票
3 回答
1601 浏览

java - Java:检查 Comparable 是否不为 null 返回 NullPointerException

我对这段代码有一个大问题,我不知道如何导致它:

出于某种原因,将 tree.find(indexreg) 与 null 进行比较会导致 NullPointerException。由于这是一个大学项目,我必须使用我自己的二叉树实现而不是 Java 提供的实现。tree 是 BinarySearchTree 而 indexreg 是 Comparable 对象,它已经被初始化。这是 BinarySearchTree 类中查找的代码:

它在树中查找对象,如果找不到则返回 null(我认为您不能返回空的 Comparable 对象)。我试过谷歌搜索,但没有找到有用的答案。有谁知道如何使这段代码工作?

0 投票
5 回答
12624 浏览

java - 如何在 Java 中实现一个通用的 `max(Comparable a, Comparable b)` 函数?

我正在尝试编写一个需要两个Comparables 的通用 max 函数。

到目前为止我有

这无法编译

我认为这是在说?inComparable<?>可能被解释为参数 a 的一种类型,而参数 b 的另一种类型,因此它们无法进行比较。

我怎样才能把自己从这个洞里挖出来?