Open In App

How to Sort a list in Scala?

Last Updated : 29 Apr, 2024
Comments
Improve
Suggest changes
Like Article
Like
Report

Sorting a list is a common operation in programming, and Scala provides convenient ways to accomplish this task. In this article, we'll explore different methods to sort a list in Scala, along with examples.

Using the sorted Method:

Scala's sorted method allows you to sort a list of elements in ascending order. This method returns a new sorted list without modifying the original list.

Scala
object Main {
  def main(args: Array[String]): Unit = {
    val numbers = List(5, 3, 8, 1, 2, 4, 7, 6)
    val sortedNumbers = numbers.sorted
    println(numbers)
    println(sortedNumbers) // Output: List(1, 2, 3, 4, 5, 6, 7, 8)
  }
}


zzz
Output

Using the sortBy Method:

The sortBy method allows you to specify a function that extracts a key from each element, and then sorts the elements based on the keys in ascending order.

Scala
object Main {
    def main(args: Array[String]) {
       val fruits = List("apple", "banana", "orange", "grape")
       val sortedFruits = fruits.sortBy(_.length)
       println(sortedFruits) // Output: List("apple", "grape", "banana", "orange")

    }
}


zz2
Output

Using the sortWith Method:

The sortWith method allows you to provide a comparison function that determines the order of elements in the sorted list.

Scala
object Main {
    def main(args: Array[String]) {
     
      val numbers = List(5, 3, 8, 1, 2, 4, 7, 6)
      val sortedNumbers = numbers.sortWith(_ < _)
      println(sortedNumbers) // Output: List(1, 2, 3, 4, 5, 6, 7, 8)
  
      
    }
}


zz3
Output

Sorting in Descending Order:

To sort a list in descending order, you can use the reverse method after sorting in ascending order.

Scala
object Main {
    def main(args: Array[String]) {
       
        val numbers = List(5, 3, 8, 1, 2, 4, 7, 6)
        val sortedNumbersDesc = numbers.sorted.reverse
        println(sortedNumbersDesc) // Output: List(8, 7, 6, 5, 4, 3, 2, 1)

    }
}


zz4
Output

Conclusion:

Sorting lists in Scala is straightforward, thanks to the built-in methods like sorted, sortBy, and sortWith. These methods provide flexibility in sorting lists based on different criteria and in different orders. By understanding these methods, you can efficiently sort lists in your Scala programs.

With these examples and explanations, you should now have a solid understanding of how to sort lists in Scala. Whether you're working with numbers, strings, or custom objects, Scala's rich collection library provides powerful tools for sorting data efficiently.


Next Article
Article Tags :

Similar Reads