在 Java 中對字串進行排序

Abdul Mateen 2023年1月30日 2020年12月19日
  1. 使用 Array.sort() 方法對 Java 中的單個字串進行排序
  2. 在 Java 中使用 for 迴圈對單個字串進行排序
在 Java 中對字串進行排序

本教程文章演示瞭如何在 Java 中對單個字串進行排序。

最常用的排序是按字母順序排列。排序是將資料轉換為標準格式並建立人類可讀格式的過程。

在 Java 中對單個字串進行排序有以下兩種方法。

  • Array.sort() Method
  • User-Defined Method

使用 Array.sort() 方法對 Java 中的單個字串進行排序

在 Java 中,字串是不可變的,這意味著如果一個字串物件已經被建立過一次,那麼在記憶體中就不能改變字串。我們也不能訪問字串中的單個字元。

我們可以使用 Array.sort() 方法對 Java 中的單個字串進行排序。字串類沒有排序方法。在對字串進行排序時,主要的思路是使用 toCharArray() 方法將給定的字串轉換為一個字元陣列。然後,我們使用 Arrays.sort() 方法對該陣列進行排序。

使用 Arrays.sort() 方法對單個字串進行排序的例子如下。

import java.util.Arrays;

public class StringSorting
{  
    public static void main(String args[])
    {
        String STR = "java"; 
        char[] StringtoChar = STR.toCharArray();
        Arrays.sort(StringtoChar);
        String SortedString = new String(StringtoChar);
        System.out.println("The Unsorted String is : " + STR); 
        System.out.println("The Sorted String is : " + SortedString);  
    }  
} 

輸出:

The Unsorted String is : java
The Sorted String is : aajv

在上面的程式碼中,我們建立了一個字串,其中儲存了 java。使用 toCharArray() 方法將其轉換為字元陣列後,我們使用 Arrays.sort 對轉換後的字元陣列進行排序,並將排序後的陣列型別化為字串。

在 Java 中使用 for 迴圈對單個字串進行排序

我們可以使用 for 迴圈對單個陣列進行排序,並在每次迭代中對元素進行比較。但是我們知道,我們不能訪問一個字串中的單個字元,將該字串轉換為字元陣列。那麼我們通過使用兩個迴圈來遍歷字元陣列,將每個元素與其他元素進行比較。

使用使用者定義的方法對單個字串進行排序的例子如下。

import java.util.Arrays;

public class StringSorting
{  
    public static void main(String args[])
    {
        String STR = "java"; 
        char[] StringtoChar = STR.toCharArray();
        for(int i=0;i<(StringtoChar.length-1);i++)
        {
            for(int j=i+1;j>0;j--)
            {
                if(StringtoChar[j]<StringtoChar[j-1])
                {
                    char Temp = StringtoChar[j-1];
                    StringtoChar[j-1] = StringtoChar[j];
                    StringtoChar[j] = Temp;
                }
            }
        }
        String SortedString = new String(StringtoChar);
        System.out.println("The Unsorted String is : " + STR); 
        System.out.println("The Sorted String is : " + SortedString);
    }

}

輸出:

The Unsorted String is : java
The Sorted String is : aajv

在上面的程式碼中,我們建立了一個字串,其中儲存了 java

我們在這裡使用了兩個 for 迴圈。第一個迴圈是對字元陣列進行迭代,第二個迴圈避免了比較中的重複。如果第二個迴圈裡面的條件(StringtoChar[j]<StringtoChar[j-1])為真,則執行交換,並對陣列進行排序。

相關文章 - Java String