当前位置: 代码迷 >> 综合 >> 字符串中数据排序(从小到大)
  详细解决方案

字符串中数据排序(从小到大)

热度:20   发布时间:2023-12-06 16:28:51.0

        字符串中数据排序需要将其中的数据载入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;}

结果