如何在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萬+ 瀏覽量

啟動您的職業生涯

完成課程獲得認證

開始
廣告