字符串中数据排序需要将其中的数据载入String类型的数组中分离出来,再通过数据对应的数据类型创建对应的数组,在数组中进行排序后(排序调用Arrays中的sort方法或者写冒泡排序方法都可以),通过StringBuilder创建对象拼接字符,再从StringBuilder类型转成String类型输出排序后的字符串
例:
(这里采用的是int类型的数据进行从小到大的排序)
完整代码如下:
package Test;
import java.util.Arrays;
//字符串排列
public class IntChangeToStringList {
public static void main(String[] args) {
//创建一个字符串
String s = "27 13 65 87 14 61";
/*
将字符串中的字符分离出来创建一个字符串数组
因为字符串中共同的分隔字符是空格,所以regex中填" "
*/
String[] arr = s.split(" ");
//循环String数组中的元素,打印出来,查看一下
for (int i = 0; i <arr.length ; i++) {
System.out.print(arr[i]+" ");
}
System.out.println("\n"+"------------------");
//定义一个int类型数组,等于String数组的长度
int[] iarr = new int[arr.length];
/*
循环int类型数组,将String类型数组元素通过Integer包装类
转成int类型输入到数组中,打印元素进行查看
*/
for (int j = 0; j < iarr.length ; j++) {
iarr[j] = Integer.parseInt(arr[j]);
System.out.print(iarr[j]+" ");
}
System.out.println("\n"+"------------------");
//调用Arrays中的方法进行排序,写一个冒泡排序也可以
Arrays.sort(iarr);
//创建StringBuilder对象进行字符串拼接
StringBuilder sb =new StringBuilder();
for (int x = 0; x <iarr.length ; x++) {
if(x== iarr.length-1){
sb.append(iarr[x]);
}else {
sb.append(iarr[x]).append(" ");
}
}
String s1 = sb.toString();
System.out.println("排序后的字符串:"+s1);
}
}
冒泡排序
for (int i = 0; i < iarr.length - 1; i++) {
for (int j = 0; j < iarr.length - 1 - i; j++) {
int t = iarr[i];
iarr[i] = iarr[i + 1];
iarr[i + 1] = t;
}
结果