Spec-Zone.ru › Scala 3.1

Трейт scala.math.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

Наследованные методы

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Источник
override 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[Long]

Создаёт 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[Long]

На основе функции 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

Источник
override def reverse: Ordering[Long]

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

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

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

def reversed(): Comparator[Long]

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

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

Наследуется от Comparator

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

Наследуется от Comparator

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

Наследуется от Comparator

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

Наследуется от Comparator

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

Наследуется от Comparator

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

Наследуется от 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.1.1/scala/math/Ordering$$LongOrdering.html

Spec-Zone.ru

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