Spec-Zone.ru › Scala 2.13 Library

Объект scala.math.Ordering

Компаньон трейт Ordering

объект Ordering extends LowPriorityOrderingImplicits with java.io.Serializable

Это объект-компаньон для трейта scala.math.Ordering.

Он содержит множество неявных упорядочений, а также методы для построения новых упорядочений.

Источник
Ordering.scala
Линейные супертипы
java.io.Serializable, LowPriorityOrderingImplicits, AnyRef, Any

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

типAsComparable[A] = (A) => Comparable[_ >: A]

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

трейтBigDecimalOrdering extends Ordering[BigDecimal]

трейтBigIntOrdering extends Ordering[BigInt]

трейтBooleanOrdering extends Ordering[Boolean]

трейтByteOrdering extends Ordering[Byte]

запечатанный трейтCachedReverse[T] extends Ordering[T]

трейтCharOrdering extends Ordering[Char]

трейтExtraImplicits extends AnyRef

трейтIntOrdering extends Ordering[Int]

трейтLongOrdering extends Ordering[Long]

трейтOptionOrdering[T] extends Ordering[Option[T]]

трейтShortOrdering extends Ordering[Short]

трейтStringOrdering extends Ordering[String]

трейтSymbolOrdering extends Ordering[Symbol]

трейтUnitOrdering extends Ordering[Unit]

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

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

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

implicit def Option[T](implicit ord: Ordering[T]): Ordering[Option[T]]

implicit def Tuple2[T1, T2](implicit ord1: Ordering[T1], ord2: Ordering[T2]): Ordering[(T1, T2)]

implicit def Tuple3[T1, T2, T3](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3]): Ordering[(T1, T2, T3)]

implicit def Tuple4[T1, T2, T3, T4](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4]): Ordering[(T1, T2, T3, T4)]

implicit def Tuple5[T1, T2, T3, T4, T5](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5]): Ordering[(T1, T2, T3, T4, T5)]

implicit def Tuple6[T1, T2, T3, T4, T5, T6](implicit ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6]): Ordering[(T1, T2, T3, T4, T5, T6)]

неявный def Tuple7[T1, T2, T3, T4, T5, T6, T7](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7]): Ordering[(T1, T2, T3, T4, T5, T6, T7)]

неявный def Tuple8[T1, T2, T3, T4, T5, T6, T7, T8](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8)]

неявный def Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](неявный ord1: Ordering[T1], ord2: Ordering[T2], ord3: Ordering[T3], ord4: Ordering[T4], ord5: Ordering[T5], ord6: Ordering[T6], ord7: Ordering[T7], ord8: Ordering[T8], ord9: Ordering[T9]): Ordering[(T1, T2, T3, T4, T5, T6, T7, T8, T9)]

def apply[T](неявный ord: Ordering[T]): Ordering[T]

Annotations
@inline()

final def asInstanceOf[T0]: T0

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

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

возвращает

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

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

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

def by[T, S](f: (T) => S)(неявный ord: Ordering[S]): Ordering[T]

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

def compare(x:T, y:T) = Ordering[S].compare(f(x), f(y))

Эта функция аналогична Ordering.on, где параметр Ordering[S] передается неявно.

def clone(): AnyRef

Создать копию объекта-приёмника.

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

returns

копия объекта-приёмника.

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

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

implicit def comparatorToOrdering[A](implicit cmp: Comparator[A]): Ordering[A]

Definition Classes
LowPriorityOrderingImplicits

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 finalize(): Unit

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

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

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

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

def fromLessThan[T](cmp: (T, T) => Boolean): Ordering[T]

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

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

def hashCode(): Int

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

returns

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

Definition Classes
AnyRef → Any
Annotations
@native()

final def isInstanceOf[T0]: Boolean

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

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

returns

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

Definition Classes
Any

final def ne(arg0: AnyRef): Boolean

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

returns

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

Definition Classes
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

implicit def ordered[A](implicit asComparable: AsComparable[A]): Ordering[A]

Это бы вступило в конфликт со всеми удобными неявными Orderings, но благодаря магии упорядоченных неявных типов через наследование мы можем заставить Ordered[A] => Ordering[A] появиться только если ничего другого не сработает. Так как Ordered[A] в любом случае расширяет Comparable[A], мы можем добавить и поддержку Java.

Definition Classes
LowPriorityOrderingImplicits

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

Definition Classes
AnyRef

def toString(): String

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

returns

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

Definition Classes
AnyRef → Any

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()

implicit object BigDecimal extends BigDecimalOrdering

implicit object BigInt extends BigIntOrdering

implicit object Boolean extends BooleanOrdering

implicit object Byte extends ByteOrdering

implicit object Char extends CharOrdering

object Double

object Float

object Implicits extends ExtraImplicits

implicit object Int extends IntOrdering with CachedReverse[Int]

implicit object Long extends LongOrdering

implicit object Short extends ShortOrdering

явное объект String extends StringOrdering

явное объект Symbol extends SymbolOrdering

явное объект Unit extends UnitOrdering

© 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$.html

Spec-Zone.ru

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