Classificar uma string em Java
-
Utilize
Array.sort()
Método para ordenar uma única string em Java -
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.