Analise... Vector X Array

O que é preferível usar: um Vector ou um Array de tamanho pré definido?

Alguém saberia dizer quais as vantagens do Vector, tirando que ele pode ter tamanho dinâmico? E desvantagens do Vector?

De primeira, só posso dizer que os métodos da classe Vector são thread-safe. :-o

Cara,
O Vector no Java é uma coleção legada. Não é interessante usá-la, apenas quando necessário.
Quando pode ser necessário?
Quando você está trabalhando com múltiplas threads e precisa de uma coleção sincronizada. Esta é a única vantagem do Vector em relação ao ArrayList.

O fato do Vector ser sincronizado torna as operações em cima desta coleção muito mais custozas e consequentemente mais lentas.
Em Java todas as coleções acabam por ser dinâmicas em termos de tamanho, portanto nisso não à muita diferença entre elas.

Pessoal, qualquer coisa me corrijam…

abraço

Vector é sincronizado, ou seja é thread safe, o que é ruim muito ruim para performance… e o ArrayList não.

Não há razão para usar Vector, só em casos muito especificos, regra geral é ArrayList.

Para j2me tem esta implementação:
http://jsourcery.com/api/j2mepolish.org/j2mepolish/1.2.4/de/enough/polish/util/ArrayList.html

apesar de que o pessoal ñ percebeu que aqui é o fórum de j2me onde ñ tem ArrayList, tudo que foi dito sobre a classe Vector é válido, a sincronização de suas funções deixa ele muito lento, no geral é melhor fazer o vetorzão mesmo

a desvantagem é que vai ser complicado pra vc ficar removendo elementos, mas caso precise disso toda hora então pode ser melhor vc criar uma estrutura como uma lista

flw, t+

Valeu pelas dicas galera… Já estou substituindo os Vetores de meu código por Arrays.

O foda é ter que estabelacer um tamanho máximo pré definido ao criar o array, isto aloca todo o tamanho reservado na memória mesmo que não seja usado. No JME falata algo que possa ter o tamanho dinâmico.