Kotlin String sorted

The sorted function in Kotlin is used to sort the characters in a string and return the sorted characters as a new string. This function is part of the Kotlin standard library and provides a straightforward way to arrange the characters of a string in natural (lexicographical) order.

Table of Contents

  1. Introduction
  2. sorted Function Syntax
  3. Understanding sorted
  4. Examples
    • Basic Usage
    • Sorting with Custom Comparators
    • Sorting in Descending Order
  5. Real-World Use Case
  6. Conclusion

Introduction

The sorted function arranges the characters of a string in natural order and returns the sorted result as a new string. This is useful for tasks such as ordering characters, checking anagrams, and creating sorted outputs for display or processing.

sorted Function Syntax

The syntax for the sorted function is as follows:

fun CharSequence.sorted(): List<Char>

Parameters:

  • This function does not take any parameters.

Returns:

  • A list of characters sorted in natural order.

Understanding sorted

The sorted function converts the characters of the string into a list, sorts them, and returns the sorted list. To obtain a sorted string from the result, you can join the characters back into a string.

Examples

Basic Usage

To demonstrate the basic usage of sorted, we will sort the characters of a string.

Example

fun main() {
    val text = "kotlin"
    val sortedText = text.sorted().joinToString("")
    println("Original text: $text")
    println("Sorted text: $sortedText")
}

Output:

Original text: kotlin
Sorted text: iklnot

Sorting with Custom Comparators

While the sorted function itself does not take a comparator, you can use the sortedWith function with a custom comparator if needed. This example demonstrates sorting characters based on their Unicode values in descending order.

Example

fun main() {
    val text = "kotlin"
    val sortedText = text.toList().sortedWith(compareByDescending { it }).joinToString("")
    println("Original text: $text")
    println("Sorted text in descending order: $sortedText")
}

Output:

Original text: kotlin
Sorted text in descending order: toniilk

Sorting in Descending Order

To sort the characters in descending order, you can use sortedDescending and then join the result.

Example

fun main() {
    val text = "kotlin"
    val sortedDescendingText = text.toList().sortedDescending().joinToString("")
    println("Original text: $text")
    println("Sorted text in descending order: $sortedDescendingText")
}

Output:

Original text: kotlin
Sorted text in descending order: toniilk

Real-World Use Case

Checking for Anagrams

In real-world applications, the sorted function can be used to check if two strings are anagrams by sorting their characters and comparing the results.

Example

fun main() {
    val text1 = "listen"
    val text2 = "silent"

    val sortedText1 = text1.sorted().joinToString("")
    val sortedText2 = text2.sorted().joinToString("")

    if (sortedText1 == sortedText2) {
        println("The strings are anagrams.")
    } else {
        println("The strings are not anagrams.")
    }
}

Output:

The strings are anagrams.

Conclusion

The sorted function in Kotlin's String class is a convenient method for sorting the characters of a string. It provides a simple way to arrange characters in natural order for various applications, including ordering, checking anagrams, and creating sorted outputs. 

By understanding and using this function, you can effectively manage character sorting operations in your Kotlin applications.

Comments