Java - Ordenar cadena en Java

 
Vista:
Imágen de perfil de genio

Ordenar cadena en Java

Publicado por genio (2 intervenciones) el 24/09/2022 02:57:38
Ordenar cadena en Java | Hay muchas operaciones de cadena en las que veremos cómo ordenar una cadena en Java, aquí ensamblamos elementos de cadena en un formato específico ascendente o descendente. Para ordenar cadenas en Java no hay un método incorporado, tenemos que convertirlas en caracteres y ordenarlas.

Cómo ordenar una cadena en Java
Como se dijo anteriormente, no hay un método incorporado para ordenar cadenas en Java, por lo tanto, aplique otros métodos uno tras otro para ordenar cadenas. Las cadenas son inmutables, es decir, no se pueden cambiar una vez creadas. En esta sección, analicemos dos métodos para ordenar cadenas en Java.

Con Arrays.sort()
Sin arreglos.sort()
Primero, veremos cómo ordenar una cadena usando el método Arrays.sort():-

1) Paso 1:- Importe la clase Arrays disponible en Java.
2) Paso 2:Declare un método para ordenar la cadena dada usando el método sort(), en este método convertimos la cadena en caracteres y luego utilice el método sort() para ordenar el carácter y devolver los caracteres ordenados.

public static String sortString(String string) {

// convert string to char array
char charArray[] = string.toCharArray();

// sort char array
Arrays.sort(charArray);

// return after converting char array to string
return new String(charArray);
}
3) Paso 3:- En el método principal, tomaremos una cadena y llamaremos al método sortString() y pasaremos la cadena como argumento e imprimiremos tanto la cadena como la cadena ordenada.

import java.util.Arrays;

public class Main {
public static String sortString(String string) {
char charArray[] = string.toCharArray();
Arrays.sort(charArray);
return new String(charArray);
}

public static void main(String[] args) {
String string = "Know Program";
String sortedString = sortString(string);
System.out.println("Given String: " + string);
System.out.println("Sorted String: " + sortedString);
}
}
Salida:

Cadena dada:Programa conocido
Cadena ordenada:KPagmnoorrw

Ahora, veremos cómo ordenar sin usar el método Arrays.sort(). Pasos para ordenar cadenas sin utilizar un método sort() predefinido :-

Declare una variable int "k" y asígnele 0. De manera similar, declare una variable char y asígnele 0.
Convierta la cadena dada al carácter usando toCharArray() y lea todos los elementos usando bucles for anidados.
Si el carácter es mayor, cambie usando la variable temporal temp.
Convierta la matriz de caracteres ordenados en Cadena.
public class Main {
public static void main(String[] args) {
String string = "Know Program";
System.out.println("Given String: " + string);
int k = 0;
char temp = 0;
char[] chars = string.toCharArray();
for (int i = 0; i < chars.length; i++) {
for (k = 0; k < chars.length; k++) {
if (chars[k] > chars[i]) {
temp = chars[i];
chars[i] = chars[k];
chars[k] = temp;
}
}
}
String sortedString = new String(chars);
System.out.println("Sorted String: " + sortedString);
}
}
Salida:

Cadena dada:Programa conocido
Cadena ordenada:KPagmnoorrw

Ordenar matriz de cadenas Java
Aquí, ordenaremos una cadena de matrices tanto en orden ascendente como descendente.

Para esto primero, tenemos que importar la clase Arrays y la clase Collections. Inicialice una matriz de cadenas en array[ ], use Arrays.sort() para ordenar la matriz de cadenas en orden ascendente y use Collections.reverseOrder() para ordenar en orden descendente. Imprime el resultado. Para mostrar la matriz podemos usar el método Arrays.toString().

import java.util.Arrays;
import java.util.Collections;

public class Main {
public static void main(String[] args) {
String array[] = { "program", "website", "know" };
System.out.println("String Array: " + Arrays.toString(array));

Arrays.sort(array);
System.out.println("Ascending Array: " + Arrays.toString(array));

Arrays.sort(array, Collections.reverseOrder());
System.out.println("Descending Array: " + Arrays.toString(array));
}
}
Salida:

Matriz de cadenas:[programa, sitio web, saber]
Matriz ascendente:[saber, programa, sitio web]
Matriz descendente:[sitio web, programa, saber]

Ordenar matriz de cadenas en Java usando compareto
Ordenaremos la matriz de cadenas usando el método compareTo().

import java.util.Arrays;

public class Main {
public static void main(String args[]) {
String[] language =
{ "Kotlin", "JavaScript", "SQL", "Java", "Python" };
for (int i = 0; i < language.length - 1; i++) {
for (int j = i + 1; j < language.length; j++) {
if (language[i].compareTo(language[j]) > 0) {
String temp = language[i];
language[i] = language[j];
language[j] = temp;
}
}
}
System.out.println(Arrays.toString(language));
}
}
Salida:

[Java, JavaScript, Kotlin, Python, SQL]

Ordenar lista de cadenas Java
Para ordenar una lista de cadenas, el método sort() está disponible en el marco de trabajo de colecciones de la clase Collections (paquete java.util).

import java.util.ArrayList;
import java.util.Collections;

public class Main {
public static void main(String[] args) {
ArrayList<String> list = new ArrayList<String>();
list.add("Henry");
list.add("Albert");
list.add("Robert");
list.add("Harry");
list.add("Clove");
Collections.sort(list);
System.out.println(list);
}
}
Salida:

[Albert, Clavo, Harry, Henry, Robert]
Lee mas http://www.yxjava.com/es/tag-java-2/string-2/1002000440.html
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder