[code]List lista1 = new ArrayList();
e
ArrayList lista1 = new ArrayList();[/code]
um deles é mais rápido que o outro ou é exatamente a mesma coisa
[code]List lista1 = new ArrayList();
e
ArrayList lista1 = new ArrayList();[/code]
um deles é mais rápido que o outro ou é exatamente a mesma coisa
um não vai ser mais rápido que o outro, a diferença é que List é uma interface e ArrayList é a implementação dessa interface, a única coisa que pode diferenciar nesse caso, é se ArrayList tiver métodos que não existem em List, assim só poderão ser invocados se for instanciado da segunda maneira, ou via cast.
De qualquer forma, a boa prática é sempre usar interfaces.
Um acopla o seu código a implementação (classe concreta). O outro acopla o seu código a uma especificação (interface). Qual vc acha que é mais flexível?
Dá uma estudada em Inversão de Controle também. Um exemplo aqui: http://www.mentaframework.org/mtw/Page/IoC/mentawai-inversao-de-controle
Entendi, obrigado
Acesso por interfaces é sempre mais lento (mais instruições… mas a perda chega a ser ridícula) que classes concretas, pois requer trabalho adicional para encontrar o método correspondente.
Programação para interface é sempre mais receptivo a mudanças e manutenções :o)
Wryel, voce quer dizer então que essa linha
ArrayList lista1 = new ArrayList();
ganha em velocidade?