Classificar uma string em Java

  1. Utilize Array.sort() Método para ordenar uma única string em Java
  2. Utilize o for Loop para ordenar uma única string em Java

Este artigo tutorial demonstra como ordenar uma única string em Java.

A ordem mais comum utilizada é por ordem alfabética. A ordenação é o processo de conversão de dados para um formato padrão e criação de um formato legível por humanos.

Há duas formas de ordenar uma única string em Java, como se segue.

  • Método Array.sort ()
  • Método definido pelo usuário

Utilize Array.sort() Método para ordenar uma única string em Java

Uma string é imutável em Java, o que significa que a string não pode ser alterada na memória se um objecto de string tiver sido criado uma vez. Também não podemos aceder a um único carácter de uma string.

Podemos utilizar o método Array.sort() para ordenar uma única string em Java. A classe string não tem método de ordenação. Ao ordenar a string, a ideia principal é converter a string dada para um array de caracteres utilizando o método toCharArray(). E depois, utilizamos o método Arrays.sort() para ordenar esse array.

O exemplo de ordenação de uma única string utilizando o método Arrays.sort() é o seguinte.

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);  
    }  
} 

Resultado:

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

No código acima, criamos uma string que armazena java nele. Depois de a converter num array de caracteres utilizando o método toCharArray(), ordenamos a matriz de caracteres convertida utilizando Arrays.sort, e digitamos a matriz ordenada para uma string.

Utilize o for Loop para ordenar uma única string em Java

Podemos ordenar um único array utilizando o laço for e comparar o elemento com o outro em cada iteração. Mas como sabemos, não podemos aceder a um único carácter numa string para converter essa string num array de caracteres. Depois iteramos a matriz de caracteres utilizando dois loops para comparar cada elemento com o outro elemento.

O exemplo de ordenação de uma única string utilizando o método User-Defined é o seguinte.

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);
    }

}

Resultado:

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

No código acima, criamos uma string que armazena java nele.

Utilizamos aqui dois loops for. O primeiro laço é para iterar o array de caracteres, e o segundo laço evita a repetição em comparação. Se a condição (StringtoChar[j]<StringtoChar[j-1]) for verdadeira dentro do segundo laço, efectua a troca e ordena o array.

Artigo relacionado - Java String

  • Como Capitalizar a Primeira Carta de uma string em Java
  • Converter um InputStream em uma string em Java