Este tutorial de Lista de Java explica cómo crear, inicializar e imprimir listas en Java. El tutorial también explica la lista de listas con código completo ejemplo:

este tutorial le presentará la estructura de Datos ‘lista’ que es una de las estructuras básicas en la interfaz de la colección Java.

una lista en Java es una secuencia de elementos según un orden. La interfaz de Lista de java.,util package es el que implementa esta secuencia de objetos ordenados de una manera particular llamada List.

=> compruebe todos los tutoriales de Java aquí.

al igual que los arrays, también se puede acceder a los elementos de la lista utilizando índices cuyo primer índice comienza en 0. El índice indica un elemento particular en el índice ‘i’, es decir, es I elementos lejos del principio de la lista.

algunas de las características de la lista en Java incluyen:

  • Las listas pueden tener elementos duplicados.
  • la lista también puede tener elementos ‘null’.,
  • Las listas admiten genéricos, es decir, puede tener listas genéricas.
  • También puede tener objetos mezclados (objetos de diferentes clases) en la misma lista.
  • Las listas siempre conservan el orden de inserción y permiten el acceso posicional.

List en Java

La interfaz de Lista de Java es un subtipo de la interfaz de colección de Java. Esta es la interfaz estándar que hereda la interfaz de colección de Java.

a continuación se muestra un diagrama de clases de la interfaz de la lista Java.,

Java List Class Diagram

como se muestra en el diagrama de clases anterior, la interfaz de Lista Java se extiende desde la interfaz de colección de java.util paquete que a su vez se extiende desde la interfaz Iterable de java.util paquete. La clase AbstractList proporciona la implementación esquelética de la interfaz de Lista.

Las Clases LinkedList, Stack, Vector, ArrayList y CopyOnWriteArrayList son todas las clases de implementación de la interfaz de lista que son utilizadas con frecuencia por los programadores., Por lo tanto, hay cuatro tipos de listas en Java, es decir, Stack, LinkedList, ArrayList y Vector.

por lo tanto, cuando tenga que implementar la interfaz de lista, puede implementar cualquiera de las clases de tipo de Lista anteriores dependiendo de los requisitos. Para incluir la funcionalidad de la interfaz de lista en su programa, tendrá que importar el paquete java.útil.,* que contienen la interfaz list y otras definiciones de clases como sigue:

import java.util.*;

Create & Declare List

ya hemos indicado que List es una interfaz y está implementada por clases como ArrayList, Stack, Vector y LinkedList. Por lo tanto, puede declarar y crear instancias de la lista de cualquiera de las siguientes maneras:

List linkedlist = new LinkedList(); List arrayList = new ArrayList();List vec_list = new Vector(); List stck_list = new Stack();

como se muestra arriba, puede crear una lista con cualquiera de las clases anteriores y luego inicializar estas listas con valores., A partir de las instrucciones anteriores, puede ver que el orden de los elementos cambiará dependiendo de la clase utilizada para crear una instancia de la lista.

por ejemplo, para una lista con clase stack, el orden es Last In, First Out (LIFO).

Initialize Java List

puede utilizar cualquiera de los métodos que se indican a continuación para inicializar un objeto list.

#1) Usando el método asList

el método asList () ya está cubierto en detalle en el tema Arrays. Puede crear una lista inmutable utilizando los valores de la matriz.,

La sintaxis general es:

List<data_type> listname = Arrays.asList(array_name);

Aquí, el data_type debe coincidir con el de la matriz.

la instrucción anterior crea una lista inmutable. Si desea que la lista sea mutable, entonces tiene que crear una instancia de la lista usando new y luego asignarle los elementos de matriz usando el método asList.

esto es como se muestra a continuación:

List<data_type> listname = new ArrayList<> (Arrays.asList(array_name));

implementemos un programa en Java que muestre la creación e inicialización de la lista utilizando el método asList.,

salida:

en el programa anterior, hemos creado la lista inmutable primero utilizando el método asList. Luego, creamos una lista mutable creando una instancia de ArrayList y luego inicializando esta ArrayList con valores de la matriz utilizando el método asList.

tenga en cuenta que como la segunda lista es mutable, también podemos agregar más valores a ella.

#2) usando la lista.add ()

como ya se mencionó, como la lista es solo una interfaz, no se puede crear una instancia. Pero podemos crear instancias de clases que implementen esta interfaz., Por lo tanto, para inicializar las clases de lista, puede usar sus respectivos métodos add, que es un método de interfaz de lista pero implementado por cada una de las clases.

si crea una instancia de una clase de lista vinculada de la siguiente manera:

List<Integer> llist = new LinkedList<Integer> ();

entonces, para agregar un elemento a una lista, puede usar el método add de la siguiente manera:

llist.add(3);

También hay una técnica llamada «inicialización de doble llave» en la que la lista se crea una instancia en la misma declaración.,

esto se hace como se muestra a continuación:

List<Integer> llist = new LinkedList<Integer> (){{ add(1); add(3);}};

la instrucción anterior agrega los elementos 1 y 3 a la lista.

el siguiente programa muestra las inicializaciones de la lista utilizando el método add. También utiliza la técnica de inicialización de doble corsé.

salida:

Este programa tiene tres declaraciones de Lista diferentes, es decir, ArrayList, LinkedList y Stack.

Los Objetos ArrayList y LinkedList se instancian y luego se llama a los métodos add para agregar elementos a estos objetos., Para stack, se utiliza la inicialización de doble llave en la que se llama al método add durante la propia instanciación.

#3) usando métodos de la clase Collections

la clase collections de Java tiene varios métodos que se pueden usar para inicializar la lista.

algunos de los métodos son:

  • addAll

la sintaxis general para colecciones addAll method es:

List<dataType> listname = Collections.EMPTY_LIST;Collections.addAll(listname = new ArrayList<datatype>(), values…);

Aquí, agrega valores a una lista vacía. El método addAll toma la lista como el primer parámetro seguido de los valores que se insertarán en la lista.,

  • unmodifiableList ()

el método ‘unmodifiableList ()’ devuelve una lista inmutable a la que los elementos no se pueden agregar ni eliminar.

la sintaxis general de este método es la siguiente:

List<datatype> listname = Collections.unmodifiableList(Arrays.asList(values…));

el método toma valores de Lista como parámetros y devuelve una lista. Si intenta agregar o eliminar cualquier elemento de esta lista, entonces el compilador lanza una excepción UnsupportedOperationException.

  • singletonList ()

el método ‘singletonList’ devuelve una lista con un solo elemento en ella. La lista es inmutable.,

la sintaxis general para este método es:

List<datatype> listname = Collections.singletonList(value);

el siguiente programa Java muestra los tres métodos de la clase Collections discutidos anteriormente.

salida:

#4) usando secuencias Java8

con la introducción de secuencias en Java 8, También puede construir una secuencia de datos y recopilarlos en una lista.

El siguiente programa muestra la creación de una lista usando corriente.

salida:

el programa anterior recoge el flujo de cadena en una lista y lo devuelve., También puede usar los otros métodos de colectores como ‘toCollection’, ‘unmodifiableList’, etc. aparte de asList en la función.

#5) Lista Java 9.método of ()

Se introduce un nuevo método en Java 9, List.of () que toma cualquier número de elementos y construye una lista. La lista construida es inmutable.

salida:

ejemplo de Lista

a continuación se muestra un ejemplo completo del uso de una interfaz de lista y sus diversos métodos.

Output:

la salida del programa anterior muestra las diversas operaciones realizadas en una ArrayList. Primero, crea e inicializa la lista., Luego copia el contenido de otra lista a esta lista y también elimina un elemento de la lista. Finalmente, reemplaza el último elemento de la lista con otro valor.

exploraremos los métodos de la lista en detalle en nuestro siguiente tutorial.

lista de impresión

Hay varios métodos mediante los cuales puede imprimir los elementos de la lista en Java.

Vamos a discutir algunos de los métodos aquí.

#1) Usando For Loop/Enhanced for Loop

la lista es una colección ordenada a la que se puede acceder utilizando índices., Puede utilizar para bucle que se utiliza para iterar utilizando los índices para imprimir cada elemento de la lista.

Java tiene otra versión de for loop conocida como enhanced for loop que también se puede usar para acceder e imprimir cada elemento de la lista.

El programa Java que se muestra a continuación muestra la impresión del contenido de la lista usando for loop y enhanced for loop.

salida:

#2) Usando el método toString

el método ‘toString ()’ de la interfaz de Lista devuelve la representación de cadena de la lista.

El siguiente programa muestra el uso del método toString ().,

Resultado:

Lista Convierte en Una Matriz

La lista tiene un método toArray() que convierte la lista a una matriz. Una vez convertido a una matriz, puede utilizar los métodos de matriz discutidos en el tema respectivo para imprimir el contenido de esta matriz. Puede usar para o mejorado para bucle o incluso toString método.

el ejemplo dado a continuación utiliza el método toString para imprimir el contenido de la matriz.

salida:

usando Java 8 Streams

Los Streams se introducen en Java 8. Puede hacer uso de flujos para recorrer la lista., También hay lambdas con las que puede iterar a través de la lista.

el siguiente programa muestra el uso de secuencias para iterar a través de la lista y mostrar su contenido.

salida:

aparte de los métodos discutidos anteriormente, puede usar iteradores de lista para iterar a través de la lista y mostrar su contenido. Tendremos un artículo completo sobre el iterador de la lista en los tutoriales posteriores.

lista de listas

La interfaz Java list soporta la ‘lista de listas’. En esto, los elementos individuales de la lista es de nuevo una lista. Esto significa que puede tener una lista dentro de otra lista.,

Este concepto es muy útil cuando tienes que leer datos de archivos CSV. Aquí, es posible que necesite leer varias listas o listas dentro de listas y luego almacenarlas en memoria. Una vez más tendrá que procesar estos datos y escribir de nuevo en el archivo. Por lo tanto, en tales situaciones, puede mantener una lista de listas para simplificar el procesamiento de datos.

el siguiente programa Java muestra un ejemplo de una lista de listas Java.

En este programa, tenemos una lista de listas de tipo String. Creamos dos listas separadas de tipo string y asignamos valores a estas listas., Ambas listas se agregan a la lista de listas usando el método add.

para mostrar el contenido de la lista de listas, utilizamos dos bucles. El bucle externo (foreach) itera a través de las listas de listas accediendo a las listas. El bucle foreach interno accede a los elementos de cadena individuales de cada una de estas listas.

salida:

Java la lista de listas es un concepto pequeño pero es importante especialmente cuando tiene que leer datos complejos en su programa.

preguntas frecuentes

Q #1) ¿Qué es una lista y conjunto en Java?

Respuesta: Una lista es una colección ordenada de elementos., Puede tener elementos duplicados en la lista.

Un conjunto no es una colección ordenada. Los elementos del conjunto no están dispuestos en ningún orden en particular. Además, los elementos en el conjunto deben ser únicos. No permite duplicados.

Q # 2) ¿Cómo funciona una lista en Java?

respuesta: la lista es una interfaz en Java que se extiende desde la interfaz de colección. Las clases ArrayList, LinkedList, Stack y Vector implementan la interfaz list. Por lo tanto, un programador puede usar estas clases para usar la funcionalidad de la interfaz de Lista.

Q # 3) ¿Qué es un ArrayList en Java?,

Respuesta: ArrayList es una matriz dinámica. Es una colección de elementos de tamaño variable e implementa la interfaz de Lista. ArrayList internamente hace uso de una matriz para almacenar los elementos.

Q # 4) ¿las listas comienzan en 0 o 1 en Java?

respuesta: las listas en Java tienen un índice entero basado en cero. Esto significa que el primer elemento de la lista está en el índice 0, el segundo elemento en el índice 1 y así sucesivamente.

Q # 5) ¿la lista está ordenada?

Respuesta: Sí. La lista es una colección ordenada de elementos., Este orden se conserva, durante la inserción de un nuevo elemento en la lista,

conclusión

Este tutorial dio una introducción a la interfaz de la lista en Java. También discutimos los principales conceptos de listas como creación, inicialización de listas, impresión de listas, etc.

en nuestros próximos tutoriales, vamos a discutir los diversos métodos que son proporcionados por la interfaz de la lista. También discutiremos la construcción iteradora que se usa para iterar el objeto list. Discutiremos la conversión de objetos de lista a otras estructuras de datos en nuestro próximo tutorial.,

=> visite aquí para ver la serie de capacitación Java para Todos.