java string array tutorial with code examples
Este tutorial sobre Java String Array explica cómo declarar, inicializar y crear matrices de cadenas en Java y las conversiones que podemos realizar en String Array:
Las matrices son una estructura de datos importante en Java que se utilizan para almacenar diferentes tipos de datos, desde los primitivos hasta los definidos por el usuario. Ya hemos visto los conceptos básicos de Arrays y las otras operaciones importantes que se pueden realizar en Arrays.
En uno de nuestros tutoriales anteriores, hemos discutido los diversos tipos de datos que puede contener una matriz.
=> Formación de la A a la Z de Java para principiantes
Uno de los tipos de datos que pueden contener las matrices es una cadena. En este caso, la matriz se denomina matriz de cadenas.
Lo que vas a aprender:
- ¿Qué es una matriz de cadenas en Java?
- Declarar una matriz de cadenas
- Inicialización de una matriz de cadenas
- Longitud / tamaño de una matriz de cadenas
- Iterando e imprimiendo una matriz de cadenas
- Agregar a la matriz de cadenas
- Ordenar una matriz de cadenas
- Buscar una cadena en la matriz de cadenas
- Convertir matriz de cadenas en cadena
- Convertir cadena en la matriz de cadenas
- Convertir matriz de cadenas en lista
- Convertir lista a la matriz de cadenas
- Convertir matriz de cadenas en matriz Int
- Preguntas frecuentes
- Conclusión
¿Qué es una matriz de cadenas en Java?
Podemos tener una matriz con cadenas como elementos. Por lo tanto, podemos definir una matriz de cadenas como una matriz que contiene un número fijo de cadenas o valores de cadena. La matriz de cadenas es una estructura que se usa con más frecuencia en Java. Si recuerda, incluso el argumento de la función 'principal' en Java es una matriz de cadenas.
La matriz de cadenas es una matriz de objetos. Esto se debe a que cada elemento es un String y sabes que en Java, String es un objeto. Puede hacer todas las operaciones en la matriz de cadenas, como ordenar, agregar un elemento, unir, dividir, buscar, etc.
En este tutorial, analizaremos la matriz de cadenas en Java en detalle junto con las diversas operaciones y conversiones que podemos realizar en las matrices de cadenas.
Declarar una matriz de cadenas
Una matriz de cadenas se puede declarar de dos formas, es decir, con un tamaño o sin especificar el tamaño.
A continuación se muestran las dos formas de declarar una matriz de cadenas.
|_+_| |_+_|En la primera declaración, una matriz de cadenas se declara como una variable normal sin ningún tamaño. Tenga en cuenta que antes de usar esta matriz, tendrá que crear una instancia con new.
En la segunda declaración, se declara un String Array y se crea una instancia utilizando new. Aquí, se declara una matriz de cadenas 'myarray' con cinco elementos. Si imprime directamente los elementos de esta matriz, verá todos los valores nulos ya que la matriz no está inicializada.
Implementemos un programa que muestre una declaración de matriz de cadenas.
|_+_|Producción:
El programa anterior muestra dos formas de declarar una matriz de cadenas. Como se mencionó anteriormente, la primera declaración no tiene tamaño ni instanciación. Por lo tanto, antes de usar esta matriz, debe crear una instancia con new. En el programa anterior, la matriz myarray se usa sin instanciación y, por lo tanto, da como resultado un error del compilador (declaración comentada).
La segunda declaración es con el tamaño. Entonces, cuando se imprimen elementos individuales de esta matriz de cadenas, los valores de todos los elementos son nulos ya que la matriz no se inicializó.
Inicialización de una matriz de cadenas
Una vez que se declara el String Array, debe inicializarlo con algunos valores. De lo contrario, los valores predeterminados que se asignan a los elementos String son nulos. Así, luego de la declaración, procedemos a inicializar el arreglo.
Una matriz de cadenas se puede inicializar en línea junto con la declaración o se puede inicializar después de declararla.
Primero, veamos cómo se puede inicializar una matriz de cadenas en línea.
|_+_|En el String Array anterior, las inicializaciones son inicializaciones en línea. La matriz de cadenas se inicializa al mismo tiempo que se declara.
También puede inicializar String Array de la siguiente manera:
|_+_|Aquí, la matriz de cadenas se declara primero. Luego, en la siguiente línea, se asignan valores a los elementos individuales. Una vez que se inicializa el String Array, puede usarlo en su programa normalmente.
Longitud / tamaño de una matriz de cadenas
Sabes que para obtener el tamaño de la matriz, las matrices tienen una propiedad llamada 'longitud'. Esto también es cierto para las matrices de cadenas.
El tamaño o la longitud de la matriz (cualquier matriz) da el número de elementos presentes en la matriz. Por lo tanto, para obtener la longitud de la matriz denominada myarray, puede dar la siguiente expresión.
|_+_|Implementemos un programa que genere la longitud de una matriz de cadenas.
|_+_|Producción:
La propiedad length es útil cuando necesita iterar a través de la matriz de cadenas para procesarla o simplemente imprimirla.
Iterando e imprimiendo una matriz de cadenas
Hasta ahora, hemos discutido la declaración, la inicialización y la propiedad de longitud de un String Array, y ahora es el momento de recorrer cada elemento del arreglo y también imprimir los elementos del String Array.
Al igual que con todas las matrices, puede iterar sobre una matriz de cadenas utilizando un bucle for y un bucle for mejorado.
A continuación se muestra un Implementación de Java que demuestra el uso de un bucle for mejorado para recorrer / iterar la matriz e imprimir sus elementos.
|_+_|Producción:
En el programa anterior, tanto el bucle for como el bucle for mejorado se utilizan para atravesar la matriz de cadenas. Tenga en cuenta que en el caso de bucle for mejorado, no es necesario especificar el límite o la condición final. En el caso del bucle 'for', debe especificar la condición de inicio y finalización.
Agregar a la matriz de cadenas
Al igual que los otros tipos de datos, también puede agregar elementos para matrices de cadenas. En esta sección, veamos los diversos métodos para agregar un elemento a la matriz de cadenas.
Usando la preasignación
En este método, crea una matriz de mayor tamaño. Por ejemplo, si tiene que almacenar 5 elementos en la matriz, entonces creará una matriz con tamaño 10. De esta manera, puede agregar fácilmente nuevos elementos al final de la matriz.
A continuación, se muestra un ejemplo que implementa la adición de un elemento a la matriz preasignada.
|_+_|Producción:
Tenga en cuenta que el espacio desocupado de la matriz se establece en Nulo. La desventaja de este método es que se desperdicia espacio, ya que puede crear una gran matriz que puede permanecer desocupada.
Usando una nueva matriz
En este método, crea una nueva matriz con un tamaño mayor que la matriz original para que pueda acomodar el nuevo elemento. Después de crear la nueva matriz, todos los elementos de la matriz original se copian en esta matriz y luego el nuevo elemento se agrega al final de la matriz.
A continuación se muestra un programa de ejemplo para agregar un elemento usando la nueva matriz.
cómo probar métodos privados usando mockito|_+_|
Producción:
Este enfoque claramente da como resultado una sobrecarga de memoria y rendimiento, ya que debe mantener dos matrices en el programa.
Usando ArrayList
También puede agregar un elemento a la matriz de cadenas utilizando ArrayList como una estructura de datos intermedia.
A continuación se muestra un ejemplo.
|_+_|Producción:
Como se muestra en el programa anterior, la matriz de cadenas se convierte primero en una ArrayList utilizando el método asList. Luego, el nuevo elemento se agrega a ArrayList usando el método add. Una vez que se agrega el elemento, ArrayList se vuelve a convertir en la matriz.
Este es un enfoque más eficiente en comparación con los discutidos anteriormente.
String Array contiene
En caso de que desee saber si una determinada cadena está presente en la matriz de cadenas o no, puede utilizar el método 'contiene'. Para ello, primero debe convertir la matriz de cadenas en ArrayList, ya que este método pertenece a ArrayList.
La siguiente implementación muestra el uso del método 'contiene'.
|_+_|Producción:
Primero, verificamos si la matriz de cadenas dada contiene la cadena 'Java'. Como está presente, se muestra un mensaje apropiado. A continuación, cambiamos la cadena a verificar a 'C #'. En este caso, el método 'contiene' devuelve falso.
Tenga en cuenta que, para el método contains, la cadena pasada como argumento siempre distingue entre mayúsculas y minúsculas. Por lo tanto, en la implementación anterior, si proporcionamos 'java' como argumento para el método contains, devolverá falso.
Ordenar una matriz de cadenas
Ya hemos visto un tema detallado sobre 'Ordenar en matrices'. Los métodos para ordenar una matriz de cadenas son los mismos que las otras matrices.
A continuación se muestra una implementación del método 'sort' de la clase 'Arrays' que ordena las cadenas de la matriz en orden alfabético.
|_+_|Producción:
La salida del programa anterior muestra la matriz de entrada original, así como la matriz de salida que está ordenada alfabéticamente.
Buscar una cadena en la matriz de cadenas
Aparte del método 'contiene' que acabamos de discutir, también puede buscar una cadena en particular en una matriz de cadenas atravesando cada elemento de la matriz de cadenas. Aquí, comparará cada elemento de la matriz de cadenas con la cadena que se buscará.
La búsqueda finaliza cuando se encuentra la primera aparición de la cadena y se devuelve el índice correspondiente de la cadena en la matriz. Si la cadena no se encuentra hasta el final de la matriz de cadenas, se muestra un mensaje apropiado.
Esta implementación se muestra en el siguiente programa Java.
|_+_|Producción:
El programa anterior busca la cadena 'Pen' en una matriz de cadenas dada y devuelve su índice correspondiente cuando se encuentra.
Convertir matriz de cadenas en cadena
Analicemos las formas de convertir una matriz de cadenas en una cadena. Discutiremos tres métodos diferentes para hacer esto con un ejemplo de cada uno.
Usando el método toString
El primer método es utilizar el método 'toString' de la clase 'Arrays'. Toma la matriz de cadenas como argumento y devuelve la representación de cadena de la matriz.
El siguiente programa Java muestra el uso del método toString.
|_+_|Producción:
El programa anterior utiliza el método 'toString' para mostrar la representación de cadena de la matriz de cadenas dada.
Usando el método StringBuilder.Append ()
El siguiente enfoque para convertir una matriz de cadenas en una cadena es mediante el uso de la clase 'StringBuilder'. Debe crear un objeto de tipo StringBuilder y utilizar el método 'Append' de StringBuilder para agregar los elementos de la matriz de cadenas al objeto StringBuilder uno por uno.
Una vez que todos los elementos de la matriz se agregan al objeto StringBuilder, puede usar el método 'toString' en este objeto para obtener finalmente la representación de la cadena.
|_+_|Producción:
El programa anterior muestra la conversión de una matriz de cadenas a una cadena utilizando la clase StringBuilder.
Uso de la operación de unión
También puede utilizar la operación 'unir' de la clase String para cambiar la matriz de cadenas en una representación de cadena.
La operación 'unir' toma dos argumentos, el primero es el separador o delimitador de la cadena y el segundo argumento es la matriz de cadenas. La operación de unión luego devuelve la cadena separada por un separador especificado (primer argumento).
Consulte el siguiente programa que demuestra el uso de la operación de unión para obtener una cadena de una matriz de cadenas.
|_+_|Producción:
Convertir cadena en la matriz de cadenas
Veamos la operación inversa de convertir una cadena en una matriz de cadenas. Hay dos métodos para realizar esta conversión.
Uso de la operación dividida
El primer método para convertir una cadena en una matriz de cadenas es utilizar la operación de división de la clase String. Puede dividir la cadena en un delimitador especificado (coma, espacio, etc.) y devolver la matriz de cadenas recién generada.
La siguiente implementación demuestra el uso de la operación dividida.
|_+_|Producción:
El programa anterior usa la función de división para dividir la cadena según el espacio y devuelve una matriz de cadena de 5 elementos.
Usando el patrón Regex
El siguiente método para convertir la cadena en una matriz de cadenas es mediante expresiones regulares. Puede especificar un patrón y luego dividir la cadena dada de acuerdo con el patrón especificado.
mejores sitios para ver anime en
Puedes usar Clase de patrón Regex perteneciente al paquete java.util.
A continuación se muestra un ejemplo del uso de patrones para convertir cadenas en String Array.
|_+_|Producción:
En el programa anterior, el patrón que hemos especificado es un carácter de espacio. Por lo tanto, la cadena se divide en espacios y devuelve la matriz de cadenas. Como ya puede deducir, usar expresiones y patrones regulares es una forma mucho más eficiente de programar.
Convertir matriz de cadenas en lista
También puede convertir una matriz de cadenas en una lista. Hemos enumerado algunos métodos para hacer esto
Usar código personalizado
El primer método es utilizar código personalizado para convertir una matriz de cadenas en una lista. En este método, se atraviesa una matriz de cadenas y cada elemento se agrega a la lista usando el método agregar de la lista.
El siguiente programa muestra esta implementación.
|_+_|Producción:
Como se muestra en el programa anterior, primero se crea una lista. Luego, usando el bucle for-each, cada elemento de la matriz de cadenas se agrega a la lista. Finalmente, se imprime la lista.
Usando el método Collections.addAll ()
El segundo método para convertir una matriz de cadenas en una lista es mediante el método 'addAll' del marco de colecciones. El método addAll () toma ArrayList y la matriz de cadenas como entrada y copia el contenido de la matriz de cadenas en ArrayList.
El siguiente programa muestra el uso del método addAll para convertir una matriz de cadenas en una lista.
|_+_|Producción:
En el programa anterior, hemos convertido una matriz de cadenas determinada en una lista utilizando el método Collections.addAll.
Usando Arrays.asList ()
Finalmente, la clase Array proporciona el método 'asList ()' que convierte la matriz de cadenas dada en la lista directamente.
cómo leer archivos .dat
A continuación se muestra un programa Java que usa asList.
|_+_|Producción:
Como se muestra arriba, el método asList de la clase Arrays convierte la matriz en lista y devuelve esta lista.
Convertir lista a la matriz de cadenas
En la sección anterior, vimos algunos métodos para convertir una matriz de cadenas en una lista. Ahora, veamos los métodos para convertir la lista en una matriz de cadenas.
Usando ArraList.get ()
El primer método es obtener un método de ArrayList que devuelve los elementos individuales de la lista. Puede recorrer ArrayList y llamar al método get que devolverá un elemento que luego se puede asignar a la ubicación de la matriz.
El siguiente programa muestra esta implementación.
|_+_|Producción:
El programa anterior muestra la conversión de ArrayList a una matriz de cadenas utilizando el método get.
Usando el método ArrayList.toArray ()
ArrayList proporciona un método 'toArray ()' que devuelve una representación de matriz de ArrayList. Por lo tanto, puede obtener una matriz de cadenas de una cadena ArrayList utilizando este método.
Compruebe el siguiente programa que utiliza el método toArray.
|_+_|Producción:
Primero, los elementos se agregan a ArrayList y luego, usando el método 'toArray', la lista se convierte en una matriz de cadenas.
Convertir matriz de cadenas en matriz Int
A veces, es posible que deba realizar operaciones con números. En este caso, si su matriz de cadenas tiene contenido numérico, entonces es aconsejable convertir esta matriz de cadenas en una matriz int. Para ello, debe utilizar la función 'parseInt' en cada elemento de la matriz y extraer el número entero.
El siguiente programa muestra la conversión de una matriz de cadenas en una matriz int.
|_+_|Producción:
En el programa anterior, tenemos una matriz de cadenas que contiene los números como cadenas. En este programa, cada uno de los elementos de la matriz de cadenas se analiza utilizando la función 'parseInt' y se asigna a una matriz de tipo int.
Tenga en cuenta que esta conversión solo funcionará en una matriz de cadenas que tenga elementos numéricos. Si alguno de los elementos de la matriz de cadenas no es numérico, el compilador arroja 'java.lang.NumberFormatException'.
Preguntas frecuentes
P # 1) ¿Cuál es la diferencia entre una matriz y una cadena en Java?
Responder: La matriz es una secuencia contigua de elementos. La cadena es una secuencia de caracteres terminada por un carácter nulo. Las cadenas son inmutables, es decir, una vez definidas, no se pueden cambiar. Cualquier cambio que se haya realizado en los resultados de cadena en una nueva cadena.
Las matrices son mutables. Las matrices pueden contener elementos de varios tipos de datos, incluidas cadenas.
P # 2) ¿Cómo se declara una matriz en Java?
Responder: La forma general de declarar una matriz en java es:
escriba array_name ();
O
escriba () array_name;
Por lo tanto, si myarray es una variable de matriz con elementos de tipo int, esta matriz se puede declarar como:
int myarray ();
O
int () myarray;
P # 3) ¿Cómo creo una matriz de cadenas?
Responder: Si strArray es una matriz de cadenas, entonces su declaración puede ser:
String () strArray;
O
String strArray ();
P # 4) ¿Qué es String () args?
Responder: String () args en Java es una matriz de cadenas que contienen argumentos de línea de comandos que se pueden pasar a un programa Java.
P # 5) ¿Pueden las matrices contener cadenas?
Responder: Si. Al igual que las matrices pueden contener otros tipos de datos como char, int, float, las matrices también pueden contener cadenas. En este caso, la matriz se convierte en una matriz de 'matriz de caracteres', ya que la cadena puede verse como una secuencia o matriz de caracteres.
Conclusión
En este tutorial, hemos visto los detalles de String Array en Java. Repasamos todos los conceptos principales relacionados con String Array, incluida la declaración, definición e inicialización de la matriz de cadenas en Java.
También hemos discutido varias operaciones como buscar, ordenar, unir, etc. y la conversión de una matriz de cadenas en la lista, cadena, matriz int, etc. Con esto, completamos nuestra discusión sobre las matrices de cadenas.
En nuestros tutoriales posteriores, analizaremos las matrices multidimensionales en Java.
=> Aprenda Java desde cero aquí
Lectura recomendada
- Tutorial de longitud de matriz de Java con ejemplos de código
- Tutorial Java String con String Buffer y String Builder
- Tutorial de JAVA para principiantes: más de 100 tutoriales prácticos en vídeo de Java
- Cómo ordenar una matriz en Java - Tutorial con ejemplos
- Invertir una matriz en Java: 3 métodos con ejemplos
- Tutorial de cadenas de C #: métodos de cadena con ejemplos de código
- String Array C ++: implementación y representación con ejemplos
- Java 'this' palabra clave: tutorial con ejemplos de código