Kotlin Sort and Sorted: A Comprehensive Guide 🎯

beginner
14 min

Kotlin Sort and Sorted: A Comprehensive Guide 🎯

Welcome to this beginner-friendly tutorial on Kotlin's Sort and Sorted functions! By the end of this guide, you'll understand these essential concepts for working with collections in Kotlin, and you'll be able to apply them to your own projects. 💡

Getting Started with Kotlin Sort 📝

Sorting is a common operation in programming, allowing us to organize data in a specific order. In Kotlin, we have several sorting functions for different collection types. Let's start with the sort() function for mutable lists.

Example: Sorting a Mutable List 🎯

kotlin
val numbers = mutableListOf(5, 3, 1, 4, 2) numbers.sort() print(numbers) // Output: [1, 2, 3, 4, 5]

In this example, we have a mutable list containing numbers. The sort() function sorts the list in ascending order.

Quiz: What will the following code print? 📝

kotlin
val words = mutableListOf("apple", "banana", "kiwi", "mango", "orange") words.sort() print(words)

A: [apple, banana, kiwi, mango, orange] B: [banana, kiwi, mango, orange, apple] C: [orange, apple, banana, kiwi, mango] Correct: B Explanation: The sort() function sorts the list in ascending order based on the lexicographical (alphabetical) order of its elements.

Understanding the Sorted Function 💡

The sorted() function is a useful alternative to sort(). It returns a new, sorted list, leaving the original unchanged. This can be particularly useful when you want to sort a collection without modifying the original data.

Example: Using the Sorted Function 🎯

kotlin
val numbers = listOf(5, 3, 1, 4, 2) val sortedNumbers = numbers.sorted() print(sortedNumbers) // Output: [1, 2, 3, 4, 5] print(numbers) // Output: [5, 3, 1, 4, 2]

In this example, we use the sorted() function to get a new, sorted list without modifying the original list.

Sorting and Custom Comparators 📝

Sometimes, we need to sort a collection based on a custom rule. In Kotlin, we can pass a custom comparator to the sorting functions.

Example: Sorting by Custom Comparator 🎯

kotlin
fun compareNumbers(a: Int, b: Int): Int { return if (a > b) 1 else if (a < b) -1 else 0 } val numbers = listOf(5, 3, 1, 4, 2) val sortedNumbers = numbers.sorted(compareNumbers) print(sortedNumbers) // Output: [1, 2, 3, 4, 5]

In this example, we define a custom comparator function that sorts numbers in ascending order. We pass this comparator function to the sorted() function to get a sorted list.

Wrapping Up ✅

Now that you've learned about Kotlin's sort() and sorted() functions, you're well-equipped to sort collections in your projects. Remember to choose the right function based on whether you want to modify the original collection or get a new, sorted collection.

As you continue to learn Kotlin, don't forget to explore other collection functions and advanced concepts. Happy coding! 💡