Don't like ads? PRO users don't see any ads ;-)
Guest

Untitled

By: a guest on Apr 17th, 2012  |  syntax: Scala  |  size: 0.59 KB  |  hits: 21  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. package testing
  2.  
  3. case class Person(name: String, age: Int) extends Ordered[Person] {
  4.         def compare(other: Person) = {
  5.                         if (age < other.age)
  6.                                 -1
  7.                         else if(age > other.age)
  8.                                 1
  9.                         else
  10.                                 0
  11.                 }
  12. }
  13.  
  14. object OrderingTest extends App {
  15.         val people = List(Person("ivan", 30), Person("marko", 25), Person("ana", 23))
  16.  
  17.         // unsorted
  18.         println(people)
  19.  
  20.         // natural sorting
  21.         println(people.sorted)
  22.  
  23.         // manual sorting function, same results as above
  24.         println(people.sortWith(_.age < _.age))
  25.  
  26.         // manual sorting function, same results as above
  27.         println(people.sortBy(_.age))
  28.  
  29.  
  30. }