如何在Java中按字母顺序排序字符串?
使用toCharArray()方法
该类的toCharArray()方法将字符串转换为字符数组并返回。按字母顺序对字符串进行排序的步骤如下:
- 获取所需字符串。
-
使用toCharArray()方法将给定的字符串转换为字符数组。
-
使用Arrays类的sort()方法对获得的数组进行排序。
-
将排序后的数组通过传递给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]