Spec-Zone.ru › Scala 2.13 Library

Трейт scala.math.Ordering.Double.TotalOrdering

Компаньон объект TotalOrdering

Трейт TotalOrdering extends Ordering[Double]

Порядок для Doubles, который представляет собой полностью согласованный линейный порядок и рассматривает NaN как большее, чем все остальные значения Double; он ведет себя так же, как java.lang.Double.compare().

Поскольку поведение Doubles, определенное в IEEE, не соответствует линейному порядку при работе с NaN, для Double определены два порядка: TotalOrdering, который соответствует линейному порядку, и IeeeOrdering, который максимально соответствует спецификации IEEE и операциям с плавающей запятой, определённым в scala.math.

Этот порядок может быть предпочтительнее для сортировки коллекций.

Источник
Ordering.scala
См. также

IeeeOrdering

Линейные надтипы
Ordering[Double], PartialOrdering[Double], Equiv[Double], java.io.Serializable, Comparator[Double], AnyRef, Any
Известные подклассы
TotalOrdering, DeprecatedDoubleOrdering

Типовые члены

Класс OrderingOps extends AnyRef

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

Определяющие классы
Ordering

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), в противном случае false.

Definition Classes
AnyRef → Any

final def ##(): Int

Эквивалентно x.hashCode, за исключением упакованных числовых типов и null. Для числовых типов возвращает значение хэш-кода, согласованное с равенством значений: если два объекта типа значения сравниваются как true, тогда ## вернёт одинаковое значение хэш-кода для каждого из них. Для null возвращает хэш-код, где null.hashCode вызывает NullPointerException.

returns

значение хэш-кода, согласованное с ==

Definition Classes
AnyRef → Any

def +(other: String): String

Implicit
Этот член добавлен неявным преобразованием из TotalOrdering в any2stringadd[TotalOrdering] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ->[B](y: B): (TotalOrdering, B)

Implicit
Этот член добавлен неявным преобразованием из TotalOrdering в ArrowAssoc[TotalOrdering] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

final def ==(arg0: Any): Boolean

Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

returns

true если объект получателя эквивалентен аргументу; false в противном случае.

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

Преобразует объект получателя в тип T0.

Обратите внимание, что успех преобразования во время выполнения зависит от семантики стирания Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, в то время как выражение List(1).asInstanceOf[List[String]] этого не сделает. В последнем примере, поскольку аргумент типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка требуемому типу.

returns

объект получателя.

Definition Classes
Any
Исключения

ClassCastException, если объект получателя не является экземпляром стирания типа T0.

def clone(): AnyRef

Создаёт копию объекта получателя.

По умолчанию реализация метода clone зависит от платформы.

returns

копию объекта получателя.

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()
Примечание

не определён SLS как член AnyRef

def compare(x: Double, y: Double): Int

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

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

    отрицательный, если x < yположительный, если x > yноль в противном случае (если x == y)
Definition Classes
TotalOrdering → Ordering → Comparator

def ensuring(cond: (TotalOrdering) => Boolean, msg: => Any): TotalOrdering

Implicit
Этот член добавлен неявным преобразованием из TotalOrdering в Ensuring[TotalOrdering] с помощью метода Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (TotalOrdering) => Boolean): TotalOrdering

Неявный
Этот член добавлен с помощью неявного преобразования из TotalOrdering вEnsuring[TotalOrdering] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: Boolean, msg: => Any): TotalOrdering

Неявный
Этот член добавлен с помощью неявного преобразования из TotalOrdering вEnsuring[TotalOrdering] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

def ensuring(cond: Boolean): TotalOrdering

Неявный
Этот член добавлен с помощью неявного преобразования из TotalOrdering вEnsuring[TotalOrdering] с помощью метода Ensuring в scala.Predef.
Определение классов
Ensuring

final def eq(arg0: AnyRef): Boolean

Проверяет, является ли аргумент (that) ссылкой на объект-получатель (this).

Метод eq реализует отношение эквивалентности на не-null экземплярах AnyRef, и имеет три дополнительных свойства:

    Он последователен: для любых не-null экземпляров x и y типа AnyRef, многократные вызовы x.eq(y) последовательно возвращают true или последовательно возвращают false.Для любого не-null экземпляра x типа AnyRef, x.eq(null) и null.eq(x) возвращают false. null.eq(null) возвращает true.

При переопределении методов equals или hashCode важно гарантировать, что их поведение согласуется с равенством ссылок. Поэтому, если два объекта являются ссылками друг на друга (o1 eq o2), они должны быть равны друг другу (o1 == o2) и они должны хешироваться до одного и того же значения (o1.hashCode == o2.hashCode).

возвращает

true если аргумент является ссылкой на объект-получатель; false в противном случае.

Определение классов
AnyRef

def equals(arg0: AnyRef): Boolean

Метод равенства для ссылочных типов. Реализация по умолчанию делегирует eq.

См. также equals в scala.Any.

возвращает

true если объект-получатель эквивалентен аргументу; false в противном случае.

Определение классов
AnyRef → Any

def equiv(x: Double, y: Double): Boolean

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

Определение классов
Ordering → PartialOrdering → Equiv

def finalize(): Unit

Вызывается сборщиком мусора для объекта-получателя, когда больше нет ссылок на объект.

Детали того, когда и будет ли вызываться метод finalize, а также взаимодействия между finalize и нелокальными возвратами и исключениями, зависят от платформы.

Атрибуты
protected[java.lang]
Определение классов
AnyRef
Аннотации
@throws(classOf[java.lang.Throwable])
Примечание

не указано SLS как член AnyRef

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Строки формата соответствуют формату String.format (@см java.lang.String.format).

Неявный
Этот член добавлен с помощью неявного преобразования из TotalOrdering вStringFormat[TotalOrdering] с помощью метода StringFormat в scala.Predef.
Определение классов
StringFormat
Аннотации
@inline()

final def getClass(): Class[_ <: AnyRef]

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

returns

объект класса, соответствующий времени выполнения типа получателя.

Определяющие классы
AnyRef → Any
Аннотации
@native()

def gt(x: Double, y: Double): Boolean

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

Определяющие классы
Ordering → PartialOrdering

def gteq(x: Double, y: Double): Boolean

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

Определяющие классы
Ordering → PartialOrdering

def hashCode(): Int

Метод hashCode для ссылочных типов. См. hashCode в scala.Any.

returns

хеш-код для этого объекта.

Определяющие классы
AnyRef → Any
Аннотации
@native()

final def isInstanceOf[T0]: Boolean

Проверяет, является ли динамический тип объекта получателя T0.

Обратите внимание, что результат теста зависит от семантики стирания типов Scala. Поэтому выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернет true. Во втором примере, поскольку параметр типа стирается во время компиляции, невозможно проверить, соответствуют ли содержимое списка указанному типу.

returns

true если объект получателя является экземпляром стирания типа T0; false в противном случае.

Определяющие классы
Any

def isReverseOf(other: Ordering[_]): Boolean

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

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

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

Определяющие классы
Ordering

def lt(x: Double, y: Double): Boolean

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

Определяющие классы
Ordering → PartialOrdering

def lteq(x: Double, y: Double): Boolean

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

Определяющие классы
Ordering → PartialOrdering

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

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

Определяющие классы
Ordering

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

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

Определяющие классы
Ordering

implicit def mkOrderingOps(lhs: Double): OrderingOps

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

Определяющие классы
Ordering

final def ne(arg0: AnyRef): Boolean

Эквивалентно !(this eq that).

returns

true если аргумент не является ссылкой на объект получателя; false в противном случае.

Определяющие классы
AnyRef

final def notify(): Unit

Разбуждает один поток, ожидающий на мониторе объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

not specified by SLS as a member of AnyRef

final def notifyAll(): Unit

Разбуждает все потоки, ожидающие на мониторе объекта-получателя.

Definition Classes
AnyRef
Annotations
@native()
Note

not specified by SLS as a member of AnyRef

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

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

def compare(x:U, y:U) = Ordering[T].compare(f(x), f(y))
Definition Classes
Ordering

def orElse(other: Ordering[Double]): Ordering[Double]

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

other

Ordering для использования, если этот Ordering возвращает ноль

Definition Classes
Ordering
Example:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElse(Ordering.by[Pair, Int](_.b))

def orElseBy[S](f: (Double) => S)(implicit ord: Ordering[S]): Ordering[Double]

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

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

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

Definition Classes
Ordering
Example:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElseBy[Int](_.b)

def reverse: Ordering[Double]

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

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

Definition Classes
Ordering → PartialOrdering

def reversed(): Comparator[Double]

Definition Classes
Comparator

final def synchronized[T0](arg0: => T0): T0

Definition Classes
AnyRef

def thenComparing[U <: Comparable[_ >: U <: AnyRef]](arg0: java.util.function.Function[_ >: Double <: AnyRef, _ <: U]): Comparator[Double]

Definition Classes
Comparator

def thenComparing[U <: AnyRef](arg0: java.util.function.Function[_ >: Double <: AnyRef, _ <: U], arg1: Comparator[_ >: U <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparing(arg0: Comparator[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingDouble(arg0: ToDoubleFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingInt(arg0: ToIntFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def thenComparingLong(arg0: ToLongFunction[_ >: Double <: AnyRef]): Comparator[Double]

Definition Classes
Comparator

def toString(): String

Создаёт строковое представление этого объекта. По умолчанию представление зависит от платформы. На платформе Java это конкатенация имени класса, «@» и хэш-кода объекта в шестнадцатеричном формате.

возвращает

строковое представление объекта.

Definition Classes
AnyRef → Any

def tryCompare(x: Double, y: Double): Some[Int]

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

Definition Classes
Ordering → PartialOrdering

final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala/math/Ordering$$Double$$TotalOrdering.html

Spec-Zone.ru

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