Spec-Zone.ru › Scala 3.2

Object Ordering.Int

Исходный код

object Int extends IntOrdering with CachedReverse[Int]

Supertypes
trait CachedReverse[Int]
trait IntOrdering
trait Ordering[Int]
trait PartialOrdering[Int]
trait Equiv[Int]
trait Serializable
trait Comparator[Int]
class Object
trait Matchable
class Any
Self type
Int.type

Inherited classlikes

Исходный код
class OrderingOps(lhs: T)

Этот внутренний класс определяет операторы сравнения, доступные для T.

Он не может расширять AnyVal потому что он не является высшего уровня классом или членом статически доступного объекта.

Inherited from Ordering

Inherited methods

Исходный код
def compare(x: Int, y: Int): Int

Возвращает целое число, знак которого указывает, как x сравнивается с y.

Знак результата имеет следующее значение:

- отрицательный, если x < y - положительный, если x > y - ноль в противном случае (если x == y)

Inherited from IntOrdering

Исходный код
override def equiv(x: Int, y: Int): Boolean

Возвращает true, если x равно y в порядке.

Definition Classes Ordering -> PartialOrdering -> Equiv
Inherited from Ordering

Исходный код
override def gt(x: Int, y: Int): Boolean

Возвращает true, если x > y в порядке.

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Исходный код
override def gteq(x: Int, y: Int): Boolean

Возвращает true, если x >= y в порядке.

Definition Classes Ordering -> PartialOrdering
Inherited from Ordering

Исходный код
final override def isReverseOf(other: Ordering[_]): Boolean

Возвращает true или false, в зависимости от того, является ли другой порядок обратным порядком этого.

Эквивалентно other == this.reverse.

Реализации должны переопределять этот метод только в том случае, если они также переопределяют reverse.

Definition Classes CachedReverse -> Ordering
Inherited from CachedReverse

Source
override def lt(x: Int, y: Int): Boolean

Возвращает true, если x < y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Source
override def lteq(x: Int, y: Int): Boolean

Возвращает true, если x <= y в порядке сортировки.

Классы-определения Ordering -> PartialOrdering
Унаследовано от Ordering

Source
def max[U <: Int](x: U, y: U): U

Возвращает x, если x >= y, в противном случае y.

Унаследовано от Ordering

Source
def min[U <: Int](x: U, y: U): U

Возвращает x, если x <= y, в противном случае y.

Унаследовано от Ordering

Source
def on[U](f: U => Int): Ordering[U]

При заданном f, функции из U в T, создает Ordering[U], чья функция сравнения эквивалентна:

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Унаследовано от Ordering

Source
def orElse(other: Ordering[Int]): Ordering[T]

Создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения данного Ordering, если она не равна нулю, иначе — результат функции сравнения other.

Параметры значения
other

Ordering, используемый, если данный Ordering возвращает ноль

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElse(Ordering.by[Pair, Int](_.b))
Унаследовано от Ordering

Source
def orElseBy[S](f: Int => S)(implicit ord: Ordering[S]): Ordering[T]

При заданном f, функции из T в S, создаёт Ordering[T], чья функция сравнения возвращает результат функции сравнения данного Ordering, если она не равна нулю, иначе — результат, эквивалентный:

Ordering[S].compare(f(x), f(y))

Эта функция эквивалентна передаче результата Ordering.by(f) в orElse.

Пример
case class Pair(a: Int, b: Int)
val pairOrdering = Ordering.by[Pair, Int](_.a)
                          .orElseBy[Int](_.b)
Унаследовано от Ordering

Source
final override def reverse: Ordering[T]

Возвращает обратный порядок данного.

Реализации, переопределяющие этот метод, ДОЛЖНЫ также переопределить isReverseOf, если они изменяют поведение (например, кеширование не требует его переопределения).

Классы-определения CachedReverse -> Ordering -> PartialOrdering
Унаследовано от CachedReverse

def reversed(): Comparator[T]

Inherited from Comparator

def thenComparing[U <: Comparable[_ >: U <: <FromJavaObject>]](x$0: Function[_ >: Int <: <FromJavaObject>, _ <: U]): Comparator[T]

Inherited from Comparator

def thenComparing[U <: <FromJavaObject>](x$0: Function[_ >: Int <: <FromJavaObject>, _ <: U], x$1: Comparator[_ >: U <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparing(x$0: Comparator[_ >: Int <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingDouble(x$0: ToDoubleFunction[_ >: Int <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingInt(x$0: ToIntFunction[_ >: Int <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

def thenComparingLong(x$0: ToLongFunction[_ >: Int <: <FromJavaObject>]): Comparator[T]

Inherited from Comparator

Source
def tryCompare(x: Int, y: Int): Option[Int]

Возвращает, определено ли сравнение между x и y, и если да, то результат compare(x, y).

Inherited from Ordering

Inherited implicits

Source
implicit def mkOrderingOps(lhs: Int): OrderingOps

Этот неявный метод дополняет T операторами сравнения, определенными в scala.math.Ordering.Ops.

Inherited from Ordering

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/math/Ordering$$Int$.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API