# Kotlin 程序:按字典顺序(字典顺序)对元素进行排序 > 原文: [https://www.programiz.com/kotlin-programming/examples/lexicographical-order-words](https://www.programiz.com/kotlin-programming/examples/lexicographical-order-words) #### 在此程序中,您将学习使用 for 循环和 Kotlin 中的 if 循环按字典顺序对元素词进行排序。 ## 示例:按字典顺序对字符串排序的程序 ```kt fun main(args: Array) { val words = arrayOf("Ruby", "C", "Python", "Java") for (i in 0..2) { for (j in i + 1..3) { if (words[i].compareTo(words[j]) > 0) { // swap words[i] with words[j[ val temp = words[i] words[i] = words[j] words[j] = temp } } } println("In lexicographical order:") for (i in 0..3) { println(words[i]) } } ``` 运行该程序时,输出为: ```kt In lexicographical order: C Java Python Ruby ``` 在上述程序中,要排序的 5 个单词的列表存储在变量 word 中。 然后,我们遍历每个单词(words [i]),并将其与数组中之后的所有单词(words [j])进行比较。 这是通过使用字符串的 compareTo()方法完成的。 如果 compareTo()的返回值大于 0,则必须在位置上进行交换,即 word [i]在 word [j]之后。 因此,在每次迭代中,单词[i]包含最早的单词。 Execution Steps | 迭代 | 初始词 | 一世 | Ĵ | 话[] | | --- | --- | --- | --- | --- | | 1 | `{ "Ruby", "C", "Python", "Java" }` | 0 | 1 | `{ "C", "Ruby", "Python", "Java" }` | | 2 | `{ "C", "Ruby", "Python", "Java" }` | 0 | 2 | `{ "C", "Ruby", "Python", "Java" }` | | 3 | `{ "C", "Ruby", "Python", "Java" }` | 0 | 3 | `{ "C", "Ruby", "Python", "Java" }` | | 4 | `{ "C", "Ruby", "Python", "Java" }` | 1 | 2 | `{ "C", "Python", "Ruby", "Java" }` | | 5 | `{ "C", "Python", "Ruby", "Java" }` | 1 | 3 | `{ "C", "Java", "Ruby", "Python" }` | | 最后 | `{ "C", "Java", "Ruby", "Python" }` | 2 | 3 | `{ "C", "Java", "Python", "Ruby" }` | 以下是等效的 Java 代码:[以字典顺序对单词进行排序的 Java 程序](/java-programming/examples/lexicographical-order-words "Java program to sort words in lexicographical order")