Vetores e ArrayLists

Qual a diferença entre vetores e arraylists em java?
quando devo usar vetor e quando devo usar arraylist?

Vc pergunta diferença entre objetos VECTOR e ARRAYLIST, ou entre arrays ( [] ) e Lists?

ok vou reformular a pergunta…

Pode se dizer que vetor ( [ ] ) em Java é uma classe que armazena um conjunto de objetos. Quero comparar um vetor ( [ ] ) em Java com a classe ArrayList.
Quando devo usar vetor e quando devo usar um ArrayList?

Pra construir um array, vc precisa conhecer de antemão o tamanho do array.
O arrayList nao. Vc pode constui-lo, e depois ir adicionando e removendo elementos dinamicamente.

Pense em um ArrayList como um “array anabolizado”.

pow isso ja é uma caracteristica legal, mas não tem mais caracteristicas que diferenciem os dois?!

acho que até sei uma, no arraylist eu consigo colocar qualqwuer tipo de objeto, certo?!

[quote=Alexandre Laranja]pow isso ja é uma caracteristica legal, mas não tem mais caracteristicas que diferenciem os dois?!

acho que até sei uma, no arraylist eu consigo colocar qualqwuer tipo de objeto, certo?![/quote]

array também. Olha só:

Object[] objetos = new Object[10];[/code]

Um método que procura algo em um ArrayList e um que procura algo em um vetor pra você ver uma diferença básica:

Desobrir se existe determinada String em um vetor:
		
[code]for(int i =0; i < stringsVt.length; i++) {
	if(stringsVt[i] == "C") {
		return true; 
	}
}
return false;

Já num ArrayList:

stringsAL.contains("C");

A menos que vc vá para uma competição de códigos, vc quase nunca vai usar o vetor primitivo.

Para começar, você pode escolher o tipo de implementação de um List. Pode ser o ArrayList, LinkedList, ou as listas do pacote java.util.concurrent. As classes de list são interoperaveis com outras collections, como os Set. Há mais suporte em código para o list, isto é, dezenas de métodos uteis como contains e disjoint. Também existem proxies que reforçam thread-safety ou imutabilidade na lista, de maneira opcional.

Como o pessoal já falou, a classe de List também é dinâmica, ou seja, você não precisa se preocupar com o tamanho da lista de antemão.

Lembrando que é uma boa prática usar listas sempre através da interface list, não do seu tipo primitivo. Esse tópico aqui explica o porquê. Já esse outro, mostra algumas coisas que você pode fazer com List.

1 curtida