gpt4 book ai didi

algorithm - 用整数表达对象关系的目的是什么?

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

比较对象时,通常会得到除 -1、0、1 以外的整数。

例如(在 Java 中)

Byte a = 10;
Byte b = 20;
System.out.println(a.compareTo(b)); // -10

在实践中是否有任何算法、数据结构利用了比较模型的这一属性?

Or in other words: why is any number > 1 or < -1 is a helpful piece of info?

编辑:对不起。我知道您怎么会将该问题误解为 Java 问题。我的错。我将标签从“java”更改为“语言无关”。

最佳答案

契约(Contract)Comparable对象指定 compareTo() 返回的值是:

A negative integer, zero, or a positive integer as this object is less than, equal to, or greater than the specified object.

上面的定义简化了比较,我们只需要使用通常的比较运算符来测试返回值是否为零。例如,要检查对象 a 是否大于或等于对象 b 我们可以这样写:

a.compareTo(b) >= 0

此外,这比简单地返回 -110 更灵活,因为它允许每个实现返回一个带有附加值的值信息。例如,StringcompareTo()返回:

The difference of the two character values at position k in the two strings -- that is, the value:

this.charAt(k) - anotherString.charAt(k)

If there is no index position at which they differ, then the shorter string lexicographically precedes the longer string. In this case, compareTo returns the difference of the lengths of the strings -- that is, the value:

this.length() - anotherString.length()

关于algorithm - 用整数表达对象关系的目的是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40707723/

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