importjava.util.Vector;classTesteVector{publicstaticvoidmain(String[]args){Vectornomes=newVector();inti=0;// armazena varios nomeswhile(true){System.out.println("Digiteumnomeparaarmazenaremnomes["+i+"]");Stringnome=IO.readStr();if(nome.length()==0){break;}nomes.insertElementAt(nome,i);i++;}// imprime os nomes digitadosfor(intj=0;j<nomes.size();j++){System.out.println(nomes.elementAt(j));}}}
:wink:
S
sensPJ
-JavaPlayer -
Obrigado…
era isto mesmo que eu estava procurando…javascript:emoticon(’:lol:’)
G
Guilherme_MelloPJ
valeu sens…
S
sensPJ
-JavaPlayer -
qual a diferença em usar um Vecto ou um ArrayList?
ou as outras opções que tem neste documentario que me passaste?
C
casperboxPJ
Sens, basicamente a diferença entre Vector e Arraylist está na sincronização. A classe vector é utilizada quando na sua aplicação ocorrerem vários acessos simultaneos aos elementos da coleção, o que pede a sincronização deste acessos.
Desta forma, se você não precisar deste tipo de sincronização vc pode se contentar com um Arraylist, pois do contrário vc estaria perdendo em desempenho executando funcionalidades q não precisa.
Espero ter sido claro, mas se vc quiser tirar alguma dúvida a respeito disso dá uma olhada na JavaMagazine nº 18, lá tem um artigo sobre Collections muito bom.
Até mais,
G
Guilherme_MelloPJ
como o casperbox disse, a maior diferença entre o ArrayList e o Vector é a sincronização…
:arrow: ArrayList -> É mais rápido que o Vector, mas não é ThreadSafe, ou seja, em uma aplicação que utiliza várias conexões é necessário colocar os objetos do tipo ArrayList dentro de métodos/blocos “synchronized” para que não se tenha a perda na integridade dos dados.
:arrow: Vector -> É ThreadSafe, diferente do ArrayList, você não precisa definir os métodos/blocos “synchronized”, mas justamente por ser ThreadSafe não é tão rápido quanto o ArrayList.