Spec-Zone.ru › Scala 3.2

Тракт Ordering.LongOrdering

Исходный код

тракт LongOrdering extends Ordering[Long]

Суперобразцы
тракт Ordering[Long]
тракт PartialOrdering[Long]
тракт Equiv[Long]
тракт Serializable
тракт Comparator[Long]
класс Object
тракт Matchable
класс Any
Известные подтипы
объект LongIsIntegral.type
объект Long.type

Наследуемые классы

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

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

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

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

Конкретные методы

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

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

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

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

Наследуемые методы

Исходный код
переопределенный def equiv(x: Long, y: Long): Boolean

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

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

Исходный код
переопределенный def gt(x: Long, y: Long): Boolean

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

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

Исходный код
переопределенный def gteq(x: Long, y: Long): Boolean

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

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

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

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

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

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

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

Исходный код
переопределенный def lt(x: Long, y: Long): Boolean

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

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

Исходный код
переопределенный def lteq(x: Long, y: Long): Boolean

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

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

Исходный код
def max[U <: Long](x: U, y: U): U

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

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

Исходный код
def min[U <: Long](x: U, y: U): U

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

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

Исходный код
def on[U](f: U => Long): Ordering[U]

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

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

Исходный код
def orElse(other: Ordering[Long]): 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

Исходный код
def orElseBy[S](f: Long => 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

Исходный код
переопределенный def reverse: Ordering[T]

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

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

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

def reversed(): Comparator[T]

Наследованное от Comparator

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Унаследованные неявные параметры

Source
implicit def mkOrderingOps(lhs: Long): OrderingOps

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

Унаследовано от 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$$LongOrdering.html

Spec-Zone.ru

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