Matriz de caracteres en Java | Matriz de caracteres de Java

Publicado: 2020-12-01

Tabla de contenido

Introducción

La mayoría de los datos que procesamos hoy en día tienen caracteres, un lenguaje de programación se dice flexible si es familiar para un programador y proporciona una forma de manejar datos de caracteres.

Las matrices de caracteres en Java son muy útiles y fáciles de usar, las cadenas son inmutables en Java, pero podemos manipular las entradas en la matriz de caracteres. Las matrices de caracteres son más rápidas en comparación con las listas y los conjuntos, e incluso más simples que los conjuntos y las listas.

¡Exploremos el funcionamiento de las matrices de caracteres ahora!

Declaración e Inicialización

La declaración de una matriz char es similar a la declaración de una matriz regular en java. “char[] array_name” o “char array_name[]” son las sintaxis a seguir para la declaración.

Después de la declaración, lo siguiente que debemos hacer es la inicialización. “array_name = new char[array_length]” es la sintaxis a seguir. De todos modos, podemos hacer tanto la declaración como la inicialización en una sola usando la sintaxis "char array_name[] = new char[array_length]". La longitud de la matriz debe declararse en el momento de la inicialización en una matriz char.

Prueba de clase pública {

public static void principal ( String args[])

{

//declaracion-1

chararr [];

arr = nuevo carácter [ 4 ];

//declaracion-2

char arr2[] =nuevo char [ 4 ];

//asignando-1

char arr1[] =nuevo char []{ ' a ' , ' b ' , ' c ' , ' d ' };

//asignando-2

matriz[ 0 ] = ' un ' ;

matriz[ 1 ] = ' b ' ;

matriz[ 2 ] = ' c ' ;

arr[ 3 ] = ' re ' ;

sistema _ fuera _ println(arr);

sistema _ fuera _ imprimirln(arr1);

}

}

En el fragmento anterior, la declaración-1 y la declaración-2 son formas de declaración e inicialización. Y la asignación de 1 y la asignación de 2 son formas de enviar entradas a una matriz. Recuerde que cuando imprimimos una matriz de caracteres, imprime todos los caracteres combinados como una cadena, en el caso anterior, la salida será "abcd".

Obtenga más información: Manejo de eventos en Java: ¿Qué es eso y cómo funciona?

Bucle sobre una matriz de caracteres

Recorrer una matriz de caracteres es una tarea divertida en Java, podemos usar un bucle "for" normal o un bucle "for: each" para recorrer la matriz.

//bucle-1

para ( int i = 0 ;i < arr . longitud;i ++ )

sistema _ fuera _ imprimir(arr[i]);

//bucle-2

para ( char c : arr)

sistema _ fuera _ imprimir (c);

En el fragmento anterior, el bucle 1 es un bucle for normal y la salida final del bucle uno será "abcd". Y el bucle 2 es un for: cada bucle y la salida final del bucle 2 serán "abcd".

La longitud de una matriz de caracteres se puede obtener utilizando el atributo de longitud. “Array_name.length” es la sintaxis a seguir.

matriz de caracteres[] = nuevo carácter []{ ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

sistema _ fuera _ println(matriz . longitud);

El fragmento anterior imprime 5, como se esperaba.

Inscríbase en cursos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.

Ordenar una matriz de caracteres

Las matrices en Java se pueden ordenar usando "Arrays.sort (array_name)". Esto ordenará lexicográficamente la matriz de caracteres pasada.

char [] arreglo = { ' h ' , ' e ' , ' l ' , ' l ' , ' o ' };

arreglos _ ordenar (matriz);

sistema _ fuera _ println( Arreglos . toString(arreglo)); //línea 1

sistema _ fuera _ println(matriz); //línea 2

Tenga en cuenta que necesitamos importar java.util.Arrays para que Arrays.sort() y Arrays.toString() funcionen.

En el fragmento anterior, la matriz de caracteres se ordena lexicográficamente y al imprimir la matriz se imprimen los caracteres combinados como una cadena. La salida de "línea2" será "ehhola" si no obtiene la salida como una cadena combinada, sino que desea imprimir toda la matriz con corchetes en los extremos, entonces Arrays.toString() hace el trabajo. La salida de "línea1" será [e, h, l, l, o].

En los fragmentos de código anteriores, hemos declarado las matrices de caracteres al completar las entradas en la matriz, pero ¿qué pasa si queremos convertir una cadena en una matriz de caracteres?

De todos modos, inicializamos una matriz de caracteres con la longitud de la cadena, recorremos la cadena y agregamos cada carácter a la matriz para hacer el trabajo.

Cadena s = hola ;

char [] arr = nuevo char [s . longitud()];

para ( int i = 0 ;i < s . longitud();i ++ )

arr[i] = s . charAt(i);

sistema _ fuera _ println( Arrays . toString(arr));

El fragmento anterior imprimirá [h, e, l, l, o] como se esperaba.

El fragmento anterior hará el arte de convertir una cadena en una matriz de caracteres, pero ¿necesitamos escribir este código largo cada vez que queramos convertir una cadena en una matriz de caracteres? Bueno, la respuesta sería NO.

Java proporciona un hermoso método llamado toCharArray() que debe aplicarse en una cadena y devuelve la matriz de caracteres.

Cadena s = aejou ;

carácter [] arr = s . aArrayCaracteres();

sistema _ fuera _ println( Arrays . toString(arr)); //línea 1

arr[ 2 ] = ' yo ' ;

sistema _ fuera _ println( Arrays . toString(arr)); //línea 2

Como era de esperar, "línea1" imprime [a, e, j, o, u] como salida. Y como ya se discutió, a diferencia de una cadena, podemos editar o manipular las entradas de una matriz de caracteres. Entonces la salida de la línea2 será [a, e, i, o, u].

Ahora que hemos visto un método para convertir una cadena en una matriz de caracteres en Java, ¿qué pasa si queremos una tarea a la inversa?

No importa, Java también tiene un método para realizar tales tareas.

char [] arr = { ' h ' , ' e ' , ' y ' , ' ' , ' t ' , ' h ' , ' e ' , ' r ' , ' e ' };

Cadena s1 = nueva Cadena (arr); //Método 1

sistema _ fuera _ imprimir(s1);

Cadena s2 = Cadena . valorDe(arr); //método2

sistema _ fuera _ imprimir(s2);

En el fragmento anterior, podemos ver ambos métodos para convertir una matriz de caracteres en una cadena. El resultado del fragmento anterior será "hola", como se esperaba.

Lea también: 17 interesantes ideas y temas de proyectos Java para principiantes

Conclusión

Llegamos a saber qué son las matrices de caracteres, aprendimos varias formas de inicializar y declarar matrices de caracteres. Caminé a través de un fragmento para recorrer una matriz de caracteres. Ordenó una matriz de caracteres usando el método Arrays.sort() predefinido.

Y observó una implementación ingenua y predefinida de conversión de cadena a matriz de caracteres, también observó una implementación viceversa usando varios métodos. Ahora que conoce bien los conceptos de arreglos de caracteres, ¡comience a implementarlos!

Si está interesado en obtener más información sobre Java, OOP y desarrollo de software de pila completa, consulte el programa Executive PG de upGrad & IIIT-B en desarrollo de software de pila completa, que está diseñado para profesionales que trabajan y ofrece más de 500 horas de formación rigurosa. Más de 9 proyectos y asignaciones, estado de exalumno de IIIT-B, proyectos finales prácticos prácticos y asistencia laboral con las mejores empresas.

Prepárate para una carrera del futuro

Aplicar ahora para Maestría en Ingeniería de Software