una programas metodos llenar lista linkedlist crear con como clase java android list arraylist

java - programas - ¿Cuál es la diferencia entre List y ArrayList?



metodos linkedlist java (1)

No hay diferencia entre las implementaciones de listas en sus dos ejemplos. Sin embargo, existe una diferencia en la forma en que puede utilizar aún más la variable myList en su código.

Cuando defines tu lista como:

List myList = new ArrayList();

solo puede llamar a los métodos y a los miembros de referencia que están definidos en la interfaz de la Lista. Si lo defines como:

ArrayList myList = new ArrayList();

podrá invocar métodos específicos de ArrayList y usar miembros específicos de ArrayList además de aquellos cuyas definiciones se heredan de List.

Sin embargo, cuando llama a un método de una interfaz de lista en el primer ejemplo, que se implementó en ArrayList, se llamará al método de ArrayList (porque la interfaz de lista no implementa ningún método).

Eso se llama polimorfismo. Puedes leer sobre esto.

Esta pregunta ya tiene una respuesta aquí:

He estado utilizando ArrayList recientemente en mi proyecto de Android en la oficina y estoy un poco confundido entre List y ArrayList, ¿cuál es la diferencia de los dos y qué debería usar?

También vi algunas implementaciones de este estilo.

List<SomeObject> myList = new ArrayList<SomeObject>(); ArrayList<SomeObject> myList = new ArrayList<SomeObject>();

¿Cuál es la diferencia de esas dos instancias?