如何在Java中按字母顺序对字符串进行排序

使用toCharArray()方法

该类的toCharArray()方法将字符串转换为字符数组并返回它。 按字母顺序对字符串值进行排序

  • 获取所需的字符串。

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

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

  • 通过将排序后的数组传递给String数组的构造函数,将其转换为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("输入字符串值: ");
      String str = sc.nextLine();
      char charArray[] = str.toCharArray();
      Arrays.sort(charArray);
      System.out.println(new String(charArray));
   }
}

Output

输入字符串值:
nhooo
hooon

手动排序数组

手动对数组进行排序-

  • 获取所需的字符串。

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

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

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

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

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

Example

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("输入字符串值: ");
      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("元素是: "+Arrays.toString(charArray));
   }
}

Output

输入字符串值:
nhooo
元素是: [o, o, o, h, n]