object Ordering extends LowPriorityOrderingImplicits with Serializable
This is the companion object for the scala.math.Ordering trait.
It contains many implicit orderings as well as well as methods to construct new orderings.
- Source
- Ordering.scala
- Alphabetic
- By Inheritance
- Ordering
- Serializable
- Serializable
- LowPriorityOrderingImplicits
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- trait BigDecimalOrdering extends Ordering[BigDecimal]
- trait BigIntOrdering extends Ordering[BigInt]
- trait BooleanOrdering extends Ordering[Boolean]
- trait ByteOrdering extends Ordering[Byte]
- trait CharOrdering extends Ordering[Char]
- trait DoubleOrdering extends Ordering[Double]
- trait ExtraImplicits extends AnyRef
- trait FloatOrdering extends Ordering[Float]
- trait IntOrdering extends Ordering[Int]
- trait LongOrdering extends Ordering[Long]
- trait OptionOrdering [T] extends Ordering[Option[T]]
- trait ShortOrdering extends Ordering[Short]
- trait StringOrdering extends Ordering[String]
- trait UnitOrdering extends Ordering[Unit]
Value Members
- 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)]
- implicit def Tuple7[T1, T2, T3, T4, T5, T6, T7](implicit 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)]
- implicit def Tuple8[T1, T2, T3, T4, T5, T6, T7, T8](implicit 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)]
- implicit def Tuple9[T1, T2, T3, T4, T5, T6, T7, T8, T9](implicit 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](implicit ord: Ordering[T]): Ordering[T]
-
def
by[T, S](f: (T) ⇒ S)(implicit ord: Ordering[S]): Ordering[T]
Given f, a function from T into S, creates an Ordering[T] whose compare function is equivalent to:
Given f, a function from T into S, creates an Ordering[T] whose compare function is equivalent to:
def compare(x:T, y:T) = Ordering[S].compare(f(x), f(y))
This function is an analogue to Ordering.on where the Ordering[S] parameter is passed implicitly.
-
implicit
def
comparatorToOrdering[A](implicit cmp: Comparator[A]): Ordering[A]
- Definition Classes
- LowPriorityOrderingImplicits
-
def
fromLessThan[T](cmp: (T, T) ⇒ Boolean): Ordering[T]
Construct an Ordering[T] given a function
lt
. -
implicit
def
ordered[A](implicit arg0: (A) ⇒ Comparable[A]): Ordering[A]
This would conflict with all the nice implicit Orderings available, but thanks to the magic of prioritized implicits via subclassing we can make
Ordered[A] => Ordering[A]
only turn up if nothing else works.This would conflict with all the nice implicit Orderings available, but thanks to the magic of prioritized implicits via subclassing we can make
Ordered[A] => Ordering[A]
only turn up if nothing else works. SinceOrdered[A]
extendsComparable[A]
anyway, we can throw in some Java interop too.- Definition Classes
- LowPriorityOrderingImplicits
- 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
- implicit object Double extends DoubleOrdering
- implicit object Float extends FloatOrdering
-
object
Implicits
extends ExtraImplicits
An object containing implicits which are not in the default scope.
- implicit object Int extends IntOrdering
- implicit object Long extends LongOrdering
- implicit object Short extends ShortOrdering
- implicit object String extends StringOrdering
- implicit object Unit extends UnitOrdering
This is the documentation for the Scala standard library.
Package structure
The scala package contains core types like
Int
,Float
,Array
orOption
which are accessible in all Scala compilation units without explicit qualification or imports.Notable packages include:
scala.collection
and its sub-packages contain Scala's collections frameworkscala.collection.immutable
- Immutable, sequential data-structures such asVector
,List
,Range
,HashMap
orHashSet
scala.collection.mutable
- Mutable, sequential data-structures such asArrayBuffer
,StringBuilder
,HashMap
orHashSet
scala.collection.concurrent
- Mutable, concurrent data-structures such asTrieMap
scala.collection.parallel.immutable
- Immutable, parallel data-structures such asParVector
,ParRange
,ParHashMap
orParHashSet
scala.collection.parallel.mutable
- Mutable, parallel data-structures such asParArray
,ParHashMap
,ParTrieMap
orParHashSet
scala.concurrent
- Primitives for concurrent programming such asFutures
andPromises
scala.io
- Input and output operationsscala.math
- Basic math functions and additional numeric types likeBigInt
andBigDecimal
scala.sys
- Interaction with other processes and the operating systemscala.util.matching
- Regular expressionsOther packages exist. See the complete list on the right.
Additional parts of the standard library are shipped as separate libraries. These include:
scala.reflect
- Scala's reflection API (scala-reflect.jar)scala.xml
- XML parsing, manipulation, and serialization (scala-xml.jar)scala.swing
- A convenient wrapper around Java's GUI framework called Swing (scala-swing.jar)scala.util.parsing
- Parser combinators, including an example implementation of a JSON parser (scala-parser-combinators.jar)Automatic imports
Identifiers in the scala package and the
scala.Predef
object are always in scope by default.Some of these identifiers are type aliases provided as shortcuts to commonly used classes. For example,
List
is an alias forscala.collection.immutable.List
.Other aliases refer to classes provided by the underlying platform. For example, on the JVM,
String
is an alias forjava.lang.String
.