En Java, Formación y Lista son las dos estructuras de datos más importantes. En esta sección aprenderemos cómo convertir una matriz Java en una lista. También hemos creado programas java que convierten Array en una Lista utilizando diferentes métodos Java.
Conversión de matriz a lista en Java
matriz de Java es una colección de múltiples valores del mismo tipo de datos. Una matriz puede contener objetos y tipos primitivos. Depende de la definición de la matriz. Si una definición de matriz es de tipo primitivo, los valores de la matriz se almacenan en la ubicación de memoria contagiosa. Si una matriz contiene elementos de objetos, los elementos se almacenan en el segmento del montón.
longitud de la cadena bash
En Java , a Lista es una interfaz que pertenece al marco de colecciones de Java. Almacena elementos en forma de objetos de forma ordenada y conserva el orden de inserción. Nos permite almacenar valores duplicados. Las clases Lista de arreglo , Lista enlazada , Vector y Pila implementa la interfaz Lista.
Java proporciona cinco métodos para convertir una matriz en una lista, que son los siguientes:
- Método nativo
- Usando el método Arrays.asList()
- Usando el método Collections.addAll()
- Usando la API de flujo de Java 8
- Usando el método Guava Lists.newArrayList()
Método nativo
Es el método más sencillo para convertir una matriz Java en una lista. En este método, primero creamos una Lista vacía y agregamos todos los elementos de la matriz a la Lista. Veamos un ejemplo.
ArrayToListExample1.java
import java.util.*; public class ArrayToListExample1 { public static void main(String args[]) { //creating an array String array[] = { 'Golf', 'Soccer', 'Baseball', 'Volleyball', 'Tennis', 'Badminton', 'Rugby', 'Archery', 'Skiing'}; //prints the array before conversion System.out.println('Array before conversion: '+ Arrays.toString(array)); //calling the generic function that converts Array into List List list = ArrayToListConversion(array); //print the List System.out.println('Array as List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T array[]) { //creating the constructor of the List class List list = new ArrayList(); //using for-each loop to iterate over the array for (T t : array) { //adding each element to the List list.add(t); } //returns the list converted into Array return list; } }
Producción:
Usando el método Arrays.asList()
Es el método de la clase Java Arrays que pertenece al paquete java.util. Cuando usamos el método asList() con el método Collection.toArray(), funciona como un puente entre las API basadas en matrices y en colecciones.
Sintaxis:
public static List asList(T... a)
El método analiza una matriz como parámetro mediante el cual se respaldará la lista. Devuelve una vista de lista serializable de tamaño fijo de la matriz especificada. Veamos un ejemplo.
ArrayToListExample2.java
import java.util.*; public class ArrayToListExample2 { public static void main(String args[]) { //creating an array to be converted String arr[] = { 'Aston Martin', 'Bugatti', 'Bentley', 'Alfa Romeo', 'Buick', 'Acura', 'Audi', 'BMW', 'Buick' }; //prints array before conversion System.out.println('Array before conversion: '+ Arrays.toString(arr)); //calling generic method that converts Array into List List list = ArrayToListConversion(arr); //prints the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //invoking the asList() method and passing the array to be converted List list = Arrays.asList(arr); //returns the list return list; } }
Producción:
Usando el método Collections.addAll()
Es el método de la Colecciones Java clase. pertenece al paquete java.util. La clase proporciona un método llamado añadir todo() . Podemos usar el método para convertir Array en una Lista. Agrega todos los elementos a la colección especificada. Podemos especificar elementos individualmente o en forma de matriz. Funciona igual que c.addAll(Arrays.asList(elementos)). Es una implementación más rápida que otra implementación.
Sintaxis:
public static boolean addAll(Collection c, T... elements)
Analiza dos parámetros:
Vuelve verdadero si la colección cambió como resultado de la llamada. Lanza las siguientes excepciones:
- Si el parámetro c no admite la operación de agregar, arroja Excepción de operación no admitida .
- Si los elementos de la matriz especificados contienen uno o más valores nulos y c no permite elementos nulos, arroja Excepción de puntero nulo .
- Si algún elemento de la matriz impide que se agregue al parámetro c, arroja Excepción de puntero ilegal .
Veamos un ejemplo.
ArrayToListExample3.java
import java.util.*; public class ArrayToListExample3 { public static void main(String args[]) { //creating an Array to be converted String arr[] = { 'San Jose', 'Dallas', 'Chicago','San Antonio', 'Los Angeles', 'Portland', 'Tucson' }; //prints the Array System.out.println('Array before conversion: '+ Arrays.toString(arr)); //method calling List list = ArrayToListConversion(arr); //print the List System.out.println('Array after conversion: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creating the constructor of thr List class List list = new ArrayList(); //the method adds Array to the List Collections.addAll(list, arr); //returns the list return list; } }
Producción:
Usando la API de flujo de Java 8
Java 8 proporciona la API Stream para procesar las colecciones de objetos. Es una secuencia de métodos que se pueden canalizar para producir el resultado deseado. Recuerde que no cambia la estructura de datos original. Proporciona el resultado basado en los métodos canalizados. Podemos obtener Stream de varias maneras, pero en el siguiente programa, hemos utilizado Arrays.stream(Objeto[]) para alcanzar la corriente.
Método Collectors.toList(): El método devuelve un recopilador que recopila los elementos de entrada en una lista recién creada en un método de encuentro.
Sintaxis:
public static Collector<t,?,list> toList() </t,?,list>
Donde T es el tipo de elemento que hemos especificado. El método no ofrece garantías sobre tipo, mutabilidad, seguridad de subprocesos y serialización.
java matemáticas redondas
Usemos la API Stream en un programa Java y conviertamos una matriz en una Lista.
ArrayToListExample4.java
import java.util.*; import java.util.stream.Collectors; public class ArrayToListExample4 { //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a list from the specified Array and returns the List return Arrays.stream(arr).collect(Collectors.toList()); } public static void main(String args[]) { //creating an array to be converted into List String arr[] = { 'Python', 'HTM', 'Java', 'C', 'C++', 'JavaScript', 'Ruby', 'Swift', 'PHP' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //calling the method created above and storing the elements into the List object List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } }
Producción:
Usando listas de guayaba.newArrayList()
Es el método de la Liza clase a la que pertenece com.google.common.collect paquete. La clase proporciona un método. nuevaListaArray() que crea una instancia de ArrayList vacía mutable que tiene los elementos de la matriz especificada.
Sintaxis:
public static ArrayList newArrayList(E... elements)
Nota: El método newArrayList() está disponible para Java 6 y versiones anteriores. En versiones posteriores está en desuso. En lugar del método anterior, utilizamos directamente el constructor ArrayList.
ArrayToListExample5.java
import static com.google.common.collect.Lists.*; import java.util.*; public class ArrayToListExample5 { public static void main(String args[]) { //creating an Array to be converted into a List String arr[] = { 'Mango', 'Banana', 'Grapes', 'Apple', 'Plum', 'Blackberry', 'Papaya', 'Orange' }; //prints the Array before conversion System.out.println('Array: '+ Arrays.toString(arr)); //convert the Array to List List list = ArrayToListConversion(arr); //prints the List System.out.println('List: ' + list); } //creating a generic function that converts the Array into List public static List ArrayToListConversion(T arr[]) { //creates a List from the specified Array return Lists.newArrayList(arr); } }
Producción: