Returns a negative integer iff x
comes before
y
in the ordering, returns 0 iff x
is the same in the ordering as y
, and returns a
positive number iff x
comes after
y
in the ordering
Returns a negative integer iff x
comes before
y
in the ordering, returns 0 iff x
is the same in the ordering as y
, and returns a
positive number iff x
comes after
y
in the ordering.
This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence
This method is used to compare the receiver object (this
)
with the argument object (arg0
) for equivalence.
The default implementations of this method is an equivalence relation:
x
of type Any
,
x.equals(x)
should return true
.x
and y
of type
Any
, x.equals(y)
should return true
if and only
if y.equals(x)
returns true
.x
, y
, and z
of type AnyRef
if x.equals(y)
returns true
and
y.equals(z)
returns
true
, then x.equals(z)
should return true
.
If you override this method, you should verify that
your implementation remains an equivalence relation.
Additionally, when overriding this method it is often necessary to
override hashCode
to ensure that objects that are
"equal" (o1.equals(o2)
returns true
)
hash to the same Int
(o1.hashCode.equals(o2.hashCode)
).
the object to compare against this object for equality.
true
if the receiver object is equivalent to the argument; false
otherwise.
Returns true
iff x
is equivalent to
y
in the ordering
Returns true
iff x
is equivalent to
y
in the ordering.
Returns true
iff y
comes before
x
in the ordering and is not the same as x
Returns true
iff y
comes before
x
in the ordering and is not the same as x
.
Returns true
iff y
comes before
x
in the ordering
Returns true
iff y
comes before
x
in the ordering.
Returns a hash code value for the object
Returns a hash code value for the object.
The default hashing algorithm is platform dependent.
Note that it is allowed for two objects to have identical hash
codes (o1.hashCode.equals(o2.hashCode)
) yet not be
equal (o1.equals(o2)
returns false
). A
degenerate implementation could always return 0
.
However, it is required that if two objects are equal
(o1.equals(o2)
returns true
) that they
have identical hash codes
(o1.hashCode.equals(o2.hashCode)
). Therefore, when
overriding this method, be sure to verify that the behavior is
consistent with the equals
method.
Returns true
iff x
comes before
y
in the ordering and is not the same as y
Returns true
iff x
comes before
y
in the ordering and is not the same as y
.
Returns true
iff x
comes before
y
in the ordering
Returns true
iff x
comes before
y
in the ordering.
Returns the argument which comes later in the ordering
Returns the argument which comes later in the ordering.
Returns the argument which comes earlier in the ordering
Returns the argument which comes earlier in the ordering.
Given a function U => T, creates Ordering[U]
Given a function U => T, creates Ordering[U].
Returns a string representation of the object
Returns a string representation of the object.
The default representation is platform dependent.
An Ordering is defined at all x and y
An Ordering is defined at all x and y.
A trait for representing total orderings. It is important to distinguish between a type that has a total order and a representation of total ordering on some type. This trait is for representing the latter.
A total ordering is a binary relation on a type
T
that is also an equivalence relation and partial ordering on values of typeT
. This relation is exposed as thecompare
method of theOrdering
trait. This relation must be:compare(x, x) == 0
, for anyx
of typeT
.compare(x, y) == z
andcompare(y, x) == w
thenmath.signum(z) == -math.signum(w)
, for anyx
andy
of typeT
andz
andw
of typeInt
.compare(x, y) == z
andcompare(y, w) == v
andmath.signum(z) >= 0
andmath.signum(v) >= 0
thencompare(x, w) == u
andmath.signum(z + v) == math.signum(u)
, for anyx
,y
, andw
of typeT
andz
,v
, andu
of typeInt
.