Qual é a diferença entre listar e ArrayList? [duplicado]

esta pergunta já tem uma resposta aqui:

Tenho usado o ArrayList recentemente no meu Andróide. projeto no escritório e eu estou um pouco confuso entre lista e ArrayList, Qual é a diferença entre os dois e o que devo usar?

Também vi algumas implementações.

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

ArrayList<SomeObject> myList = new ArrayList<SomeObject>();
Qual é a diferença dessas duas instâncias?

Author: Mat, 2013-02-16

1 answers

Não há diferença entre implementações de listas em ambos os exemplos. Há, no entanto, uma diferença de uma forma que você pode ainda usar variável myList em seu código.

Quando define a sua lista como:

List myList = new ArrayList();

Você só pode chamar métodos e membros de referência que são definidos na interface da lista. Se o Definir como:

ArrayList myList = new ArrayList();
Você será capaz de invocar métodos específicos de ArrayList e usar membros específicos de ArrayList além daqueles cujas definições são herdado da lista.

No entanto, quando você chama um método de uma interface de lista no primeiro exemplo, que foi implementado em ArrayList, o método de ArrayList será chamado (porque a interface de lista não implementa quaisquer métodos).

Isso chama-se polimorfismo. Podes ler sobre isso.
 147
Author: ATrubka, 2016-11-28 21:26:30