问题标签 [compareto]

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 投票
3 回答
122 浏览

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

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

0 投票
3 回答
1060 浏览

java - Best Practice in handling comparator

How to handle null objects, which comes in compareTo method. This always causes nullpointer exception. What a is best way to solve this issue.

0 投票
2 回答
7788 浏览

java - 添加到 PriorityQueue 的对象不按优先级排序

我正在尝试使用 PriorityQueue 实现堆,如下所示:

我将 Node 定义为包含上述方法的同一类中的私有类。节点定义为:

但是,当我将节点添加到 PriorityQueue 时,它​​们不是按频率排序的。根据我的 println 语句的输出,Node.compareTo() 返回了正确的值。例如,给定数据集:

  • 名称、频率
  • 需要,3
  • 猫,1
  • 整洁,2

我的代码产生:
// add need
[need]
// add cat
cat < need
[cat, need]
// 添加整洁的
整洁 > cat
[cat,need,need]
当 PriorityQueue 应该是 [cat,neat,need]
任何为什么会发生这种情况的提示?

0 投票
4 回答
6705 浏览

java - java比较从double到int tostring方法

我如何将 compareto 用于 double 并且我想将其变成 int?

一个例子会很好。我一直在搜索java api。

是否可以将 if 和 else 语句与 String toString 方法一起使用?我的一直因特殊情况而崩溃。

我对java完全是个菜鸟,我想我一直在阅读以学习

0 投票
4 回答
6077 浏览

java - compareTo() 和 Collections.sort() 解决多列排序(升序)问题

我对 Java 的 compareTo() 和 Collections.sort() 行为有些困惑。

我应该使用 compareTo() 和 Collections.sort() 对列进行升序排序。

我的标准是(如果出现相同的数字,请对下一个可用列进行排序)。

(1) 文件编号 (2) 过帐日期 (3) 交易日期 (4) 交易参考编号比较

下面是实现 Collection.sort() 方法的代码(在调用方法中执行):

问题):

(1) 我在做正确的事吗?当比较 = 0 时,它返回 -2。这是正确的行为吗,因为我一直认为它在-1,0,1之间。

(2) 我应该使用比较器吗?

快乐的编程...

0 投票
5 回答
2724 浏览

java - 比较 Java 中的可比对象数组

我想比较一系列可比对象。最简单的方法似乎如下(细节未显示):

当然,这里的问题是compareToas initrNext.compareTo(l)将无法给出错误:The method compareTo(capture#6-of ?) in the type Comparable<capture#6-of ?> is not applicable for the arguments (Comparable<capture#7-of ?>) 我理解为什么(就方法而言,我可能将苹果与橙子进行比较)。另一方面,我知道我不是在比较它们之前检查事物的类别。

那么有没有办法让我完成这项工作?不要担心比较任何可比数组的合理性,因为我有充分的理由要这样做。

编辑-所以我为什么要做这样的事情。假设我想要一个可比较的数组,我不在乎每个索引中包含什么,只要类型对应,并且可以进行比较。然后我可以在这些数组之间进行一般的字典比较。这样我就不必为(int,int)and (int, string), and(string, double, string)或任何你需要的东西写一个可比较的。我只写一个,只要我确保类型匹配(我可以),我就可以了。

0 投票
1 回答
1115 浏览

c# - CompareTo 的问题

我正在尝试实现排序列表。我已经创建了我想存储在列表中的类,但是由于某种原因,当我尝试运行 sort 方法时,我得到了一个异常抛出。似乎幕后的某些东西正在将null引用传递给CompareTo我已实现的方法。

这是我认为相关的代码。

数据对象定义如下:

保存列表的类定义如下:

这是我用来进行测试的程序:

测试程序的输出是:

然后它似乎将一个rhs 对象传递给 compare 方法,当它尝试访问 rhs 的优先级时null我得到一个。NullReferenceException

你能告诉我为什么会发生这种情况以及我必须做些什么来解决这个问题吗?

如果您需要更多信息,请告诉我。

0 投票
3 回答
691 浏览

java - compareTo() Java 快速问题

我的代码中有这个方法

我想重写 if 语句以使用 compareTo() 方法,根据我的记忆,它应该是这样的:

但这给了我一个错误

关于我可能做错了什么的任何想法?

0 投票
2 回答
304 浏览

java - 使用 Collections.sort() 对 MP3 列表进行排序

Collections.sort()用来按运行时顺序对 MP3 列表进行排序,如果运行时相等,则按标题字母顺序排序,如果标题相等,则按作曲家排序。我把输入放到stdinie

示例输入

但随后它并没有通过输入提供任何东西。我很困惑,因为它应该可以完美运行。我没有收到任何错误。

如果有人能指出我正确的方向,那将让我感激不尽。

0 投票
4 回答
1183 浏览

java - 更高效的 compareTo 算法?

我正在使用 Collections.sort 对对象的 ArrayList 进行排序,并且我想看看是否有更有效的 compareTo 方法来解决我正在尝试做的事情。

这是方法:

如果有人能提出更有效的方法(即更快的运行时间),我将不胜感激。