Ordenar una cadena en Java

Abdul Mateen 12 octubre 2023
  1. Usar el método Array.sort() para clasificar una sola cadena en Java
  2. Usa el bucle for para ordenar una sola cadena en Java
Ordenar una cadena en Java

Este artículo del tutorial demuestra cómo ordenar una sola cadena en Java.

El orden más común utilizado es el orden alfabético. La clasificación es el proceso de convertir los datos a un formato estándar y crear un formato legible para los humanos.

Hay dos maneras de ordenar una sola cadena en Java, como sigue.

  • Array.sort() Método
  • Método definido por el usuario

Usar el método Array.sort() para clasificar una sola cadena en Java

Una cadena es inmutable en Java, lo que significa que la cadena no puede ser cambiada en la memoria si un objeto de cadena ha sido creado una vez. Tampoco podemos acceder a un solo carácter de una cadena.

Podemos usar el método Array.sort() para ordenar una sola cadena en Java. La clase string no tiene ningún método de clasificación. Al ordenar la cadena, la idea principal es convertir la cadena dada en un array de caracteres usando el método toCharArray(). Y luego, usamos el método Arrays.sort() para ordenar ese array.

El ejemplo de ordenar una sola cadena usando el método Arrays.sort() es el siguiente.

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

En el código anterior, creamos una cadena que almacena java en ella. Después de convertirla en un array de caracteres usando el método toCharArray(), ordenamos del array de caracteres convertida usando Arrays.sort, y escribimos del array ordenada en una cadena.

Usa el bucle for para ordenar una sola cadena en Java

Podemos clasificar un solo array usando el bucle for y comparar el elemento con el otro en cada iteración. Pero como sabemos, no podemos acceder a un solo carácter de una cadena para convertir esa cadena en un array de caracteres. Entonces iteramos del array de caracteres usando dos bucles para comparar cada elemento con el otro elemento.

El ejemplo de la clasificación de una sola cadena usando el método Definido por el usuario es el siguiente.

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

En el código anterior, creamos una cadena que almacena java en ella.

Usamos dos bucles for aquí. El primer bucle es para iterar del array de caracteres, y el segundo bucle evita la repetición en la comparación. Si la condición (StringtoChar[j]<StringtoChar[j-1]) es verdadera dentro del segundo bucle, realiza el intercambio y clasifica el array.

Artículo relacionado - Java String