The “sortWith” function lets you sort an array according to a specified rule.
To demonstrate this, let’s make a list of random numbers:
val x =
List.fill(20)(100)
.map(scala.util.Random.nextInt)
x: List[Int] =
List(90, 13, 69, 46, 66,
86, 38, 18, 88, 26,
81, 18, 11, 74, 5,
50, 7, 42, 74, 57)
You can sort this like so:
x.sortWith(
(a, b) => {
a > b
}
)
Note that you should never use “return” in scala.
The above code can be re-written more simply:
x.sortWith(
(a, b) =>
a > b
)
However, “a”, and “b” have no importance here. For simple implementations, you can use an underscore syntax,
x.sortWith(_ > _)
What this does is to create a comparison function that takes two arguments, and checks if the first is larger than the second – in this case the “_” is not a variable, but more of a placeholder syntax.