Объект scala.math.Ordering
Компонент трейт Ordering
объект Ordering extends LowPriorityOrderingImplicits with Serializable
Типовые члены
трейт 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]
Члены-значения
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 по умолчанию зависит от платформы.
- возвращает
копию объекта-приёмника.
явное 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[_]
Возвращает представление класса во время выполнения объекта.
- возвращает
объект класса, соответствующий типу во время выполнения приёмника.
def hashCode(): Int
Метод hashCode для ссылочных типов. См. hashCode в scala.Any.
- возвращает
значение хэш-кода для этого объекта.
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
явное объект 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
Это объект-компаньон для трейта scala.math.Ordering.
Он содержит множество неявных упорядочений, а также методы для создания новых упорядочений.