Vector ou ArrayList?

Galera qual usar Vector ou ArrayList? Pq?

Existe problema de por um ou outro em sessão?

Rocha :roll:

[quote=rocha]Galera qual usar Vector ou ArrayList? Pq?

Existe problema de por um ou outro em sessão?

Rocha :roll: [/quote]

Problema de por um ou outro na Sessão eu não sei. agora a performance do ArrayList é melhor que Vector. ;). (será que isso pode ser o problema de coloca-lo na sessão)

Todos os Metodos da classe Vector são sicronizados, se vc compara como os metodos do ArrayList que não são existe ai um ganho de performance. e tambem eu acho até os nomes dos métodos mais fáceis.

:wink:

E colocar um ArrayList em sessão é certo? Existe métodologia melhor?

Eu gostaria de saber como o interator funciona e pq devo usá-lo?

Valeu…

Tudo eh relativo pequeno gafanhoto - o que voce quer fazer? A principio nao tem nada de errado em colocar um ArrayList na sessao… :smiley:

Mas, porem, contudo, entretanto, ja que um ArrayList nao eh sincronizado, se voce tiver duas threads trabalhando com a mesma sessao (duas tabs no mesmo navegador p.ex.), isso deve ser ponderado. Ate pode ser improvavel o cenario, mas deve ser considerado.

Se voce quiser evitar isso, entao use Vector mesmo… ou entao um ArrayList sincronizado com Collections.synchronizedList().

Para sacar mais sobre isso procure ler sobre sessoes HTTP e sincronizacao. Topicos referentes a sincronizacao e thread-safety para o SCWCD podem ser uma boa tambem (apesar de parecer estranho pegar material de certificacao para aprender alguma coisa, vale a pena).

Marcio Kuchma

[quote]Mas, porem, contudo, entretanto, ja que um ArrayList nao eh sincronizado, se voce tiver duas threads trabalhando com a mesma sessao (duas tabs no mesmo navegador p.ex.), isso deve ser ponderado. Ate pode ser improvavel o cenario, mas deve ser considerado.
[/quote]

Uma última pergunta por exempo um formulario que terá duas selects quer será alimentada com inf. de um bd… faço um select, coloco o resultados em dois arrayList um com exemplo: fabricante e o outro com modelos isso é errado então?

Nao, rocha - o kuchma estava falando de acesso concorrente a mesma ArrayList, que, caso nao seja sincronizado direito - leia-se bem, nao eh soh “sincroniza tudo ae cambada!”, eh sincronizar direito - pode trazer problemas.

Bizarrice minha, mas a primeira coisa que acontece quando eu vou pegar o codigo de alguem e tao usando Vector eh pensar “puta merda, refactoring, tira isso da minha frente, refactoring, refactoring, refactoring”. Nao existe absolutamente nenhum motivo pra se usar Vector ou Hashtable hoje em dia. Nem pra quando vc quer acesso sincronizado - pra isso existe a classe Collections :slight_smile: