Spec-Zone.ru › Scala 2.13 Library

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

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

трейт TotalOrdering extends Ordering[Float]

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

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

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

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

IeeeOrdering

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

Члены типов

класс 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: Float, y: Float): 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

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

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

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

def ensuring(cond: Boolean): TotalOrdering

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

final def eq(arg0: AnyRef): Boolean

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

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

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

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

returns

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

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

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

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

returns

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

Definition Classes
AnyRef → Any

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

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

Definition Classes
Ordering → PartialOrdering → Equiv

def finalize(): Unit

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

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

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])
Note

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

def formatted(fmtstr: String): String

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

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

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

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

returns

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

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

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

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

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

def gteq(x: Float, y: Float): 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: Float, y: Float): Boolean

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

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

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

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

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

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

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

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

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

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

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

implicit def mkOrderingOps(lhs: Float): 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

не указано SLS в качестве члена AnyRef

final def notifyAll(): Unit

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

Definition Classes
AnyRef
Annotations
@native()
Note

не указано SLS в качестве члена AnyRef

def on[U](f: (U) => Float): 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[Float]): Ordering[Float]

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

other

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

Definition Classes
Ordering
Пример:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElse(Ordering.by[Pair, Int](_.b))

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

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

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

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

Definition Classes
Ordering
Пример:
    case class Pair(a: Int, b: Int)
    
    val pairOrdering = Ordering.by[Pair, Int](_.a)
                               .orElseBy[Int](_.b)

def reverse: Ordering[Float]

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

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

Definition Classes
Ordering → PartialOrdering

def reversed(): Comparator[Float]

Definition Classes
Comparator

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

Definition Classes
AnyRef

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

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

Definition Classes
Comparator

def toString(): String

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

returns

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

Definition Classes
AnyRef → Any

def tryCompare(x: Float, y: Float): 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$$Float$$TotalOrdering.html

Spec-Zone.ru

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