如何在Java中按字母顺序排序字符串?


使用toCharArray()方法

此类的toCharArray()方法将字符串转换为字符数组并返回它。要按字母顺序排序字符串值:

  • 获取所需的字符串。

  • 使用toCharArray()方法将给定字符串转换为字符数组。

  • 使用sort()方法Arrays类获得的数组进行排序。

  • 通过将其传递给String数组的构造函数将排序后的数组转换为字符串。

示例

 在线演示

import java.util.Arrays;
import java.util.Scanner;
public class SortingString {
   public static void main(String args[]) {
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a string value: ");
      String str = sc.nextLine();
      char charArray[] = str.toCharArray();
      Arrays.sort(charArray);
      System.out.println(new String(charArray));
   }
}

输出

Enter a string value:
Tutorialspoint
Taiilnooprsttu

手动排序数组

要手动排序数组:

  • 获取所需的字符串。

  • 使用toCharArray()方法将给定字符串转换为字符数组。

  • 比较数组的前两个元素。

  • 如果第一个元素大于第二个元素,则交换它们。

  • 然后,比较第二个和第三个元素,如果第二个元素大于第三个元素,则交换它们。

  • 重复此操作,直到数组结束。

示例

 在线演示

import java.util.Arrays;
import java.util.Scanner;
public class SortingString {
   public static void main(String args[]) {
      int temp, size;
      Scanner sc = new Scanner(System.in);
      System.out.println("Enter a string value: ");
      String str = sc.nextLine();
      char charArray[] = str.toCharArray();
      size = charArray.length;
      for(int i = 0; i < size; i++ ) {
         for(int j = i+1; j < size; j++) {
            if(charArray[i]>charArray[j]) {
               temp = charArray[i];
               charArray[i] = charArray[j];
               charArray[j] = (char) temp;
            }
         }
      }
      System.out.println("Third largest element is: "+Arrays.toString(charArray));
   }
}

输出

Enter a string value:
Tutorialspoint
Third largest element is: [T, a, i, i, l, n, o, o, p, r, s, t, t, u]

更新于:2023年9月2日

8.3万+ 浏览量

启动您的职业生涯

完成课程获得认证

开始
广告
© . All rights reserved.