如何按长度对字符串排序

0 java arrays sorting string

我遇到了对数组中的字符串进行排序的问题。我能够对整数进行排序,但是我真的不知道如何将字符串从最短到最长排序。

我尝试使用Strings.length将Strings转换为整数,但是我不知道如何将其转换回其原始String。

字符串处理程序;

        System.out.println("\nNow we will sort String arrays.");
        System.out.println("\nHow many words would you like to be sorted.");
        Input = in.nextInt();
        int Inputa = Input;
        String[] Strings = new String [Input];
        for (int a = 1; a <= Input; Input --) //will run however many times the user inputed it will
    {
        counter ++; //counter counts up
        System.out.println("Number " + counter + ": "); //display 
        userinputString = in.next();
        Strings[countera] = userinputString;  //adds input to array
        countera ++;
    }
        System.out.println("\nThe words you inputed are :");
        System.out.println(Arrays.toString(Strings));

        System.out.println("\nFrom shortest to longest the words are:");
        counter = 0;
        int[] String = new int [Strings.length];
    for (int i = 0; i < Strings.length; i++) //will run however many times the user inputed it will
    { 
       int a = Strings[i].length();
       String[i] = a;
    }

    System.out.println(Arrays.toString(String));
Run Code Online (Sandbox Code Playgroud)

我希望能够对实际的String进行排序,但是我正在获取数字,并且无法找到如何在排序后将这些数字转换回其字符串。

Kor*_*ses 5

如果允许使用库函数,则可能需要执行以下操作:

Arrays.sort(Strings, Comparator.comparing(String::length));
Run Code Online (Sandbox Code Playgroud)

这适用于Java 8及更高版本。只要确保您import java.util.*;在文件中的某个时刻导入即可。