Gostaria de saber se alguem pode me ajudar a ter uma visão mais profunda da Diferença do Vector e do ArrayList, sei que as duas são baseadas na interface Collections. Pelo que entendi um é sincronizado e outro não parece que essa é a principal diferença, mas o que isso quer dizer ?
Outra coisa gostaria de saber sobre o uso do Iterator e porque devo utiliza-lo.
A sincronização indica que acessos concorrentes em diferentes threads são bloqueados pela máquina virtual…mas esse controle traz consigo um overhead que pode piorar o desempenho do seu programa.
Pelo jeito que o pessoal odeia Vector (cv?), deve haver mais motivos…mas só conheço essa desvantagem
[]'s
O Iterator é uma interface para vc pecorrer uma coleção(estrutura de dados) sem se preocupar com o tipo da estrutura(LinkedList, HashMap, TreeSet, Stack,…)
Vector, Enumeration e Hashtable sao classes velhas, que existiam antes da API de Collections e depois foram remendadas pra funcionar com ela.
Eu nao gosto de coisas remendadas, e eu nao gosto de coisas velhas. Eu gosto menos ainda de metodos sincronizados, e eu absolutamente odeio ver codigo escrito em 2005 usando APIs que estao ultrapassadas desde 1998. 