Spec-Zone.ru › Scala 2.12 Library

Объект scala.math.Ordering

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

объект Ordering extends LowPriorityOrderingImplicits with Serializable

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

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

Источник
Ordering.scala
Линейные супертипы

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

трейт BigDecimalOrdering extends Ordering[BigDecimal]

трейт BigIntOrdering extends Ordering[BigInt]

трейт BooleanOrdering extends Ordering[Boolean]

трейт ByteOrdering extends Ordering[Byte]

трейт CharOrdering extends Ordering[Char]

трейт DoubleOrdering extends Ordering[Double]

трейт ExtraImplicits extends AnyRef

трейт FloatOrdering extends Ordering[Float]

трейт IntOrdering extends Ordering[Int]

трейт LongOrdering extends Ordering[Long]

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

трейт ShortOrdering extends Ordering[Short]

трейт StringOrdering extends Ordering[String]

трейт UnitOrdering extends Ordering[Unit]

END_OF_DOCUMENT_MARKER

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

final def !=(arg0: Any): Boolean

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

возвращает

true если !(this == that), иначе false.

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

final def ##(): Int

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

возвращает

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

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

final def ==(arg0: Any): Boolean

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

возвращает

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

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

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

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]

final def asInstanceOf[T0]: T0

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

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

возвращает

получаемый объект.

Definition Classes
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 по умолчанию зависит от платформы.

возвращает

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

Атрибуты
protected[lang]
Определяющие классы
AnyRef
Аннотации
@throws( ... ) @native()
Примечание

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

явное def comparatorToOrdering[A](явное cmp: Comparator[A]): Ordering[A]

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

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: Any): Boolean

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

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

возвращает

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

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

def finalize(): Unit

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

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

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

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

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

final def getClass(): Class[_]

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

возвращает

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

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

def hashCode(): Int

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

возвращает

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

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

final def isInstanceOf[T0]: Boolean

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

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

возвращает

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

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

final def ne(arg0: AnyRef): Boolean

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

возвращает

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

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

final def notify(): Unit

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

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

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

final def notifyAll(): Unit

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

Описание классов
AnyRef
Аннотации
@native()
Примечание

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

явное def ordered[A](явное arg0: (A) ⇒ Comparable[A]): Ordering[A]

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

Описание классов
LowPriorityOrderingImplicits

final def synchronized[T0](arg0: ⇒ T0): T0

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

def toString(): String

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

возвращает

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

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

final def wait(): Unit

Описание классов
AnyRef
Аннотации
@throws( ... )

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

Описание классов
AnyRef
Аннотации
@throws( ... )

final def wait(arg0: Long): Unit

Описание классов
AnyRef
Аннотации
@throws( ... ) @native()

явное объект BigDecimal extends BigDecimalOrdering

явное объект BigInt extends BigIntOrdering

явное объект Boolean extends BooleanOrdering

явное объект Byte extends ByteOrdering

явное объект Char extends CharOrdering

явное объект Double extends DoubleOrdering

явное объект Float extends FloatOrdering

объект Implicits extends ExtraImplicits

явное объект Int extends IntOrdering

явное объект Long extends LongOrdering

явное объект Short extends ShortOrdering

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

явное объект 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.12.9/scala/math/Ordering$.html

Spec-Zone.ru

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