Java 程序:按字典顺序对字符串进行排序

要理解此示例,您应了解以下Java编程主题


示例:按字典顺序对字符串进行排序的程序

class Main {
  public static void main(String[] args) {

    String[] words = { "Ruby", "C", "Python", "Java" };

    for(int i = 0; i < 3; ++i) {
      for (int j = i + 1; j < 4; ++j) {
          
        if (words[i].compareTo(words[j]) > 0) {

          // swap words[i] with words[j[
          String temp = words[i];
          words[i] = words[j];
          words[j] = temp;
        }
      }
    }

    System.out.println("In lexicographical order:");
    
    for(int i = 0; i < 4; i++) {
      System.out.println(words[i]);
    }
  }
}

输出

In lexicographical order:
C
Java
Python
Ruby

在上面的示例中,我们创建了一个名为 wordsString 数组。该数组包含 5 个元素。

在这里,我们使用了

  • for 循环来访问和比较每个数组元素
  • compareTo() 方法来执行比较

由于我们按字典顺序(词典顺序)对元素进行排序,因此如果第一个元素在字典中排在第二个元素之后,我们就会交换它们。

以下是每次迭代中元素如何被比较和交换。

初始 words i j 比较 words[]
{ "Ruby", "C", "Python", "Java" } 0 1 Ruby 和 C { "C", "Ruby", "Python", "Java" }
{ "C", "Ruby", "Python", "Java" } 0 2 C 和 Python { "C", "Ruby", "Python", "Java" }
{ "C", "Ruby", "Python", "Java" } 0 3 C 和 Java { "C", "Ruby", "Python", "Java" }
{ "C", "Ruby", "Python", "Java" } 1 2 Ruby 和 Python { "C", "Python", "Ruby", "Java" }
{ "C", "Python", "Ruby", "Java" } 1 3 Python 和 Java { "C", "Java", "Ruby", "Python" }
{ "C", "Java", "Ruby", "Python" } 2 3 Ruby 和 Python { "C", "Java", "Python", "Ruby" }

另请阅读

你觉得这篇文章有帮助吗?

我们的高级学习平台,凭借十多年的经验和数千条反馈创建。

以前所未有的方式学习和提高您的编程技能。

试用 Programiz PRO
  • 交互式课程
  • 证书
  • AI 帮助
  • 2000+ 挑战