Qual é a diferença entre ArrayList e Vector

Índice:

Anonim

o principal diferença entre ArrayList e Vector é que o ArrayList não é sincronizado e permite que vários threads trabalhem em um ArrayList ao mesmo tempo, enquanto o Vector é sincronizado e evita que vários threads trabalhem em um vetor ao mesmo tempo.

Linguagens de programação como Java oferecem suporte a coleções, o que permite armazenar vários objetos como uma única unidade. Duas dessas coleções são ArrayList e Vector. Eles ajudam a armazenar dados dinamicamente. ArrayList não é sincronizado, o que faz com que um ArrayList tenha um desempenho melhor do que um Vector. Por outro lado, o vetor é sincronizado e contém muitos métodos legados.

ArrayList, Vector

O que é ArrayList

ArrayList é uma estrutura de dados implementada usando a ArrayListClass. Esta classe ArrayList implementa ainda mais a interface List. É a melhor alternativa para matrizes. As matrizes usuais têm um comprimento fixo. Portanto, o programador não pode adicionar mais elementos do que o tamanho de array definido. Usando um ArrayList, é possível alterar o tamanho do array dinamicamente. Em outras palavras, o programador pode adicionar ou remover elementos dinamicamente. Portanto, é uma estrutura de dados flexível. ArrayList mantém a ordem de inserção do elemento. Além disso, existem métodos predefinidos disponíveis na classe ArrayList. O programador pode usá-los em seu programa.

Figura 1: programa ArrayList

Se você olhar para o programa acima, “frutas” é um objeto do tipo ArrayList. Ele pode armazenar strings. O método add ajuda a inserir elementos na ArrayList. O elemento no 2WL o índice do ArrayList é uvas. O método de remoção ajuda a remover “uvas” da ArrayList. Agora, existem apenas três elementos disponíveis. O “itr” é um iterador. Isso ajuda a iterar por meio de ArrayList. Finalmente, o loop while imprime os elementos disponíveis na ArrayList.

O que é vetor

Vector é uma estrutura de dados implementada usando a classe Vector. A classe Vector implementa a interface List. O vetor mantém a ordem do elemento inserido. Ele está sincronizado. Portanto, vários threads não podem trabalhar em um vetor simultaneamente. Normalmente, o desempenho de adicionar, excluir e atualizar elementos em um vetor é inferior.

Figura 2: programa vetorial

No programa acima, “vec” é um objeto do Vector que pode armazenar strings. O método add ajuda a inserir novos elementos no vetor. Da mesma forma, o método remove ajuda a remover um elemento do vetor. Portanto, ao passar “laranja” para o método remove, aquele elemento específico é removido do vetor. O “en” é uma enumeração, que ajuda a iterar por meio de um vetor. Finalmente, o loop while imprime os elementos disponíveis no vetor.

Diferença entre ArrayList e Vector

Definição

ArrayList é uma estrutura de dados não sincronizada que usa uma matriz dinâmica para armazenar os elementos, enquanto o vetor é uma estrutura de dados sincronizada que usa uma matriz dinâmica para armazenar os elementos. Portanto, essa é a diferença fundamental entre ArrayList e Vector.

atuação

O desempenho é a principal diferença entre ArrayList e Vector. Um ArrayList funciona mais rápido do que um vetor. Portanto, seu desempenho é superior ao do vetor.

Sincronização

Acima de tudo, a sincronização é a principal diferença entre ArrayList e Vector. Um ArrayList não é sincronizado, enquanto o vetor é sincronizado.

Atravessando os Elementos

Enquanto ArrayList usa a interface Iterator para percorrer os elementos, o vetor usa a interface Iterator ou a interface Enumeration para percorrer os elementos. Portanto, esta é outra diferença entre ArrayList e Vector.

Tamanho da Matriz

Conclusão

Ambos ArrayList e Vector permitem armazenar elementos dinamicamente. A principal diferença entre ArrayList e Vector está na sincronização. ArrayList não é sincronizado e permite que vários threads trabalhem nele ao mesmo tempo, enquanto o Vector é sincronizado e evita que vários threads trabalhem nele ao mesmo tempo. Portanto, ArrayList é mais rápido que vetor.

Referência:

1. “ArrayList in Java - Javatpoint.” Www.javatpoint.com, disponível aqui.2. Singh, Chaitanya e J Padilha. “Vector in Java.” Beginnersbook.com, 8 de agosto de 2017, disponível aqui.

Qual é a diferença entre ArrayList e Vector