java arraylist conversions other collections
Este tutorial analiza las conversiones de ArrayList a otras colecciones como Set, LinkedList, Lists, etc., junto con las diferencias entre estas colecciones:
Hasta ahora hemos visto casi todos los conceptos relacionados con ArrayList en Java. Además de crear y manipular ArrayList utilizando varias operaciones o métodos proporcionados por la clase ArrayList, a veces también es necesario convertir ArrayList en una o más colecciones.
=> Visite aquí para aprender Java desde cero.
En este tutorial, discutiremos algunas de las conversiones de ArrayList a otras colecciones que incluyen List, LinkedList, Vector, Set, etc. También consideraremos la conversión entre ArrayList y String. Después de las conversiones, también discutiremos las diferencias entre ArrayLists y otras colecciones: Arrays, List, Vector, LinkedList, etc.
Lo que vas a aprender:
- Conversión de ArrayList a cadena
- Conversión de cadena a ArrayList
- Convertir lista a ArrayList en Java
- Convertir ArrayList para configurar en Java
- Convertir conjunto a ArrayList en Java
- Una matriz de ArrayList en Java
- ArrayList Of Arrays en Java
- Lista Vs ArrayList en Java
- Vector Vs ArrayList
- ArrayList vs LinkedList
- Preguntas frecuentes
- Conclusión
- Lectura recomendada
Conversión de ArrayList a cadena
Los siguientes métodos se pueden utilizar para convertir ArrayList en String.
# 1) Usando un objeto StringBuilder
|_+_|Producción:
ArrayList: (Software, Testing, Help)
Cadena de ArrayList: Ayuda para pruebas de software
En el programa anterior, se crea un objeto StringBuilder. Luego, utilizando el bucle forEach, cada elemento de ArrayList se agrega al objeto StringBuilder. Luego, el objeto StringBuilder se convierte en una cadena. Tenga en cuenta que el uso del método 'agregar' de StringBuilder; también puede agregar el delimitador apropiado a la cadena.
En el ejemplo anterior, hemos utilizado el espacio ('') como delimitador.
# 2) Usando el método String.join ()
El método String.join () se puede utilizar para convertir ArrayList en String. Aquí, también puede pasar el delimitador apropiado al método de combinación.
El programa siguiente demuestra esto.
|_+_|Producción:
cómo ver archivos .bin
The ArrayList: (Delhi, Mumbai, Chennai, Kolkata)
Cadena convertida de ArrayList: Delhi Mumbai Chennai Kolkata
Puede ver que pasamos directamente ArrayList como un argumento al método String.join () junto con el delimitador.
Para String ArrayLists simple, String.join () es el mejor método para convertir a String. Pero para objetos ArrayLists más complejos, usar StringBuilder es más eficiente.
Conversión de cadena a ArrayList
Para convertir una cadena en ArrayList, hay dos pasos:
- La cadena se divide usando la función split () y las subcadenas (divididas en el delimitador apropiado) se almacenan en una matriz de cadenas.
- La matriz de cadenas obtenida al dividir la cadena se convierte luego en ArrayList utilizando el método 'asList ()' de la clase Arrays.
El programa para convertir cadenas a ArrayList se muestra a continuación.
|_+_|Producción:
La cadena de entrada: la cadena al programa ArrayList
ArrayList de String: (The, string, to, ArrayList, programa)
En el programa anterior, dividimos la cadena en espacios y la recopilamos en una matriz de cadenas. Luego, esta matriz se convierte en una ArrayList de cadenas.
Convertir lista a ArrayList en Java
ArrayList implementa la interfaz List. Si desea convertir una Lista a su implementación como ArrayList, puede hacerlo utilizando el método addAll de la interfaz de Lista.
El siguiente programa muestra la conversión de la lista a ArrayList agregando todos los elementos de la lista a ArrayList.
|_+_|Producción:
Contenidos de lista: (ArrayList, Vector, LinkedList, Stack, Set, Map)
ArrayList después de agregar elementos: (ArrayList, Vector, LinkedList, Stack, Set, Map)
Convertir ArrayList para configurar en Java
Los siguientes métodos convierten un ArrayList en un Set.
# 1) Usando un enfoque iterativo tradicional
Este es el enfoque tradicional. Aquí, iteramos a través de la lista y agregamos cada elemento de ArrayList al conjunto.
En el programa a continuación, tenemos una ArrayList de cadena. Declaramos un HashSet de cadena. Luego, usando el bucle forEach, iteramos sobre ArrayList y agregamos cada elemento al HashSet.
De manera similar, también podemos convertir ArrayList en un treeSet.
|_+_|Producción:
ArrayList: (rojo, verde, azul, cian, magenta, amarillo)
HashSet obtenido de ArrayList: (Red, Cyan, Blue, Yellow, Magenta, Green)
# 2) Usando Set Constructor
El siguiente método para convertir una ArrayList en un conjunto es usar el constructor. En este método, pasamos ArrayList como argumento al constructor set y así inicializamos el objeto set con elementos ArrayList.
El siguiente programa muestra el uso de ArrayList para crear un objeto de conjunto.
|_+_|Producción:
ArrayList: (rojo, verde, azul, cian, magenta, amarillo
TreeSet obtenido de ArrayList: (Azul, Cian, Verde, Magenta, Rojo, Amarillo)
# 3) Usando el método addAll
También puede usar el método addAll de Set para agregar todos los elementos de ArrayList al conjunto.
El siguiente programa usa el método addAll para agregar los elementos de ArrayList al HashSet.
|_+_|Producción:
ArrayList: (rojo, verde, azul, cian, magenta, amarillo)
HashSet obtenido de ArrayList: (Red, Cyan, Blue, Yellow, Magenta, Green)
# 4) Uso de Java 8 Stream
Los flujos son las nuevas adiciones a Java 8. Esta clase de flujo proporciona un método para convertir ArrayList en flujo y luego configurarlo.
El programa Java a continuación demuestra el uso del método de clase de flujo para convertir ArrayList en set.
|_+_|Producción:
ArrayList: (rojo, verde, azul, cian, magenta, amarillo)
Conjunto obtenido de ArrayList: (Rojo, Cian, Azul, Amarillo, Magenta, Verde)
Convertir conjunto a ArrayList en Java
En la última sección, hemos visto la conversión de ArrayList a Set. La conversión de Set a ArrayList también utiliza los mismos métodos descritos anteriormente con la diferencia de que la posición del conjunto y ArrayList cambia.
A continuación se muestran ejemplos de programación para convertir Set en ArrayList. La otra descripción de cada método sigue siendo la misma.
# 1) Enfoque iterativo
|_+_|Producción:
El conjunto dado: (Uno, Dos, Tres)
ArrayList obtenido de Set: (One, Two, Three)
En el programa anterior, iteramos a través del Conjunto y cada elemento del conjunto se agrega a ArrayList.
# 2) Usando Constructor
pregunta y respuesta de la entrevista de soporte técnico|_+_|
Producción:
El conjunto dado: (Uno, Dos, Tres)
ArrayList obtenido de Set: (One, Two, Three)
El programa anterior crea un conjunto y una ArrayList. El objeto ArrayList se crea proporcionando un objeto set como argumento en su constructor.
# 3) Usando el método addAll
|_+_|Producción:
El conjunto dado: (Uno, Dos, Tres)
ArrayList obtenido de Set: (One, Two, Three)
Aquí, usamos el método addAll de ArrayList para agregar los elementos del conjunto a ArrayList.
# 4) Uso de Java 8 Stream
|_+_|Producción:
El conjunto dado: (Uno, Dos, Tres)
ArrayList obtenido de Set: (One, Two, Three)
El programa anterior usa la clase de flujo para convertir Set en ArrayList.
Una matriz de ArrayList en Java
Una matriz de ArrayList, como su nombre indica, consta de ArrayLists como sus elementos. Aunque la función no se usa con regularidad, se usa cuando se requiere un uso eficiente del espacio de memoria.
El siguiente programa implementa una matriz de ArrayLists en Java.
|_+_|Producción:
carácter a entero c ++
Contenido de Array of ArrayList:
(Uno, dos, dos)
(Rojo verde azul)
En el programa anterior, primero definimos dos listas. Luego declaramos una matriz de dos ArrayList. Cada elemento de esta matriz es la ArrayList definida anteriormente. Finalmente, el contenido de una matriz de ArrayList se muestra mediante un bucle for.
ArrayList Of Arrays en Java
Así como tenemos un Array of ArrayLists, también podemos tener ArrayList of Arrays. Aquí, cada elemento individual de un ArrayList es un Array.
El siguiente programa demuestra ArrayList of Arrays.
|_+_|Producción:
Contenido de ArrayList of Arrays:
(Rojo verde azul)
(Pune, Bombay, Delhi)
El programa anterior demuestra ArrayList of Arrays. Inicialmente, declaramos una ArrayList of String Arrays. Esto significa que cada elemento de ArrayList será un String Array. A continuación, definimos dos matrices de cadenas. Luego, cada una de las matrices se agrega a ArrayList. Finalmente, imprimimos el contenido de ArrayList of Arrays.
Para imprimir el contenido, recorremos ArrayList usando el bucle for. Para cada iteración, imprimimos el contenido del elemento ArrayList que tiene un Array usando el método Arrays.toString ().
Lista Vs ArrayList en Java
Las siguientes tablas muestran algunas de las diferencias entre List y ArrayList.
Lista | Lista de arreglo |
---|---|
La lista es una interfaz en Java | ArrayList es parte del marco de la colección Java |
La lista se implementa como una interfaz | ArrayList se implementa como una clase de colección |
Extiende la interfaz de colección | implementa la interfaz List y extiende AbstractList |
Parte del espacio de nombres System.Collection.generic | Parte del espacio de nombres System.Collections |
Usando List, se puede crear una lista de elementos a los que se puede acceder usando índices. | Usando ArrayList, podemos crear una matriz dinámica de elementos u objetos cuyo tamaño cambia automáticamente con los cambios en el contenido. |
Vector Vs ArrayList
A continuación se muestran algunas de las diferencias entre un Vector y un ArrayList.
Lista de arreglo | Lista enlazada |
---|---|
ArrayList implementa la interfaz List | LinkedList implementa interfaces List y Deque. |
El almacenamiento y el acceso a los datos son eficientes en ArrayList. | LinkedList es bueno para manipular datos. |
ArrayList implementa internamente una matriz dinámica. | LinkedList implementa internamente una lista doblemente enlazada. |
Dado que ArrayList implementa internamente una matriz dinámica, la adición / eliminación de elementos es lenta ya que se requiere mucho cambio de bits. | LinkedList es más rápido en lo que respecta a la adición / eliminación de elementos, ya que no es necesario el cambio de bits. |
Menos sobrecarga de memoria ya que en ArrayList solo se almacenan los datos reales. | Más sobrecarga de memoria ya que cada nodo en LinkedList contiene datos, así como la dirección del siguiente nodo. |
ArrayList vs LinkedList
Analicemos ahora las diversas diferencias entre ArrayList y LinkedList.
Lista de arreglo | Lista enlazada |
---|---|
ArrayList implementa la interfaz List | LinkedList implementa interfaces List y Deque. |
El almacenamiento y el acceso a los datos son eficientes en ArrayList. | LinkedList es bueno para manipular datos. |
ArrayList implementa internamente una matriz dinámica. | LinkedList implementa internamente una lista doblemente enlazada. |
Dado que ArrayList implementa internamente una matriz dinámica, la adición / eliminación de elementos es lenta ya que se requiere mucho cambio de bits. | LinkedList es más rápido en lo que respecta a la adición / eliminación de elementos, ya que no es necesario el cambio de bits. |
Menos sobrecarga de memoria ya que en ArrayList solo se almacenan los datos reales. | Más sobrecarga de memoria ya que cada nodo en LinkedList contiene datos, así como la dirección del siguiente nodo. |
Preguntas frecuentes
P # 1) ¿Cómo se convierte un ArrayList en un Array en Java?
Responder: Para convertir una ArrayList en una Array en Java, se puede utilizar el método toArray () de la API ArrayList que convierte una ArrayList determinada en una Array.
Q #2) ¿Cómo se divide una cadena y se almacena en una ArrayList en Java?
Responder: La cadena se divide mediante una función split (). Este método devuelve una matriz de cadenas. Luego, utilizando el método Arrays.asList (), la matriz de cadenas se puede convertir en una ArrayList de cadenas.
P # 3) ¿Cuál es el tamaño predeterminado de una ArrayList?
Responder: Un objeto ArrayList creado sin especificar la capacidad tiene un tamaño 0 ya que no hay elementos agregados a la lista. Pero la capacidad predeterminada de este ArrayList es 10.
P # 4) ¿Cuál es la diferencia entre length () y size () de ArrayList?
Responder: Una ArrayList no tiene una propiedad o método length (). Proporciona solo el método size () que devuelve el número total de elementos en ArrayList.
P # 5) ¿Cuál es la diferencia entre la capacidad y el tamaño de ArrayList?
Responder: ArrayList posee tanto capacidad como tamaño. La capacidad es el tamaño total de ArrayList o el número total de elementos que puede contener. El tamaño es la cantidad de elementos o ubicaciones que contienen datos.
Por ejemplo, si la capacidad de ArrayList es 10 y su tamaño es 5, esto significa que un ArrayList puede contener hasta 10 elementos, pero en la actualidad solo 5 ubicaciones tienen datos.
Conclusión
En este tutorial, discutimos algunos de los conceptos adicionales relacionados con ArrayList como convertir ArrayList en una cadena, lista, conjunto y viceversa. También discutimos las diferencias entre ArrayList y Vector, ArrayList y LinkedList, etc.
En nuestro próximo tutorial, tomaremos otra colección y la aprenderemos a fondo.
=> Consulte aquí para ver los tutoriales de capacitación de la A a la Z de Java aquí.
Lectura recomendada
- Tutorial Java String con String Buffer y String Builder
- Java ArrayList - Cómo declarar, inicializar e imprimir una ArrayList
- Tutorial de reflexión de Java con ejemplos
- Tutorial de cadenas de Java | Métodos de cadena de Java con ejemplos
- Hilos de Java con métodos y ciclo de vida
- Implementación de Java: creación y ejecución de un archivo JAR de Java
- Conceptos básicos de Java: sintaxis de Java, clase de Java y conceptos básicos de Java
- Máquina virtual Java: cómo JVM ayuda a ejecutar aplicaciones Java