Diferença Entre Arraylist E Vector

Diferença Entre Arraylist E Vector
Diferença Entre Arraylist E Vector

Vídeo: Diferença Entre Arraylist E Vector

Vídeo: Diferença Entre Arraylist E Vector
Vídeo: ArrayList vs Vector Java собеседование 2024, Pode
Anonim

Arraylist vs Vector

Um arraylist pode ser visto como um array dinâmico, que pode aumentar de tamanho. Por este motivo, o programador não precisa saber o tamanho da lista de arraylis ao defini-la. O vetor também pode ser visto como uma matriz que pode aumentar de tamanho. Os vetores podem ser facilmente alocados e podem ser usados quando o tamanho necessário do armazenamento não for conhecido até o tempo de execução.

O que é um Arraylist?

Um arraylist pode ser visto como um array dinâmico, que pode aumentar de tamanho. Portanto, arraylists são ideais para serem usados em situações em que você não sabe o tamanho dos elementos exigidos no momento da declaração. Em Java, os arraylists só podem conter objetos, não podem conter tipos primitivos diretamente (você pode colocar os tipos primitivos dentro de um objeto ou usar as classes de wrapper dos tipos primitivos). Geralmente os arraylists são fornecidos com métodos para realizar a inserção, exclusão e pesquisa. A complexidade de tempo de acesso a um elemento é o (1), enquanto a inserção e exclusão tem uma complexidade de tempo de o (n). Em Java, os arraylists podem ser percorridos usando loops foreach, iteradores ou simplesmente usando os índices. Em Java, os arraylists foram introduzidos a partir da versão 1.2 e fazem parte do Java Collections Framework.

O que é um vetor?

O vetor também é uma matriz que pode aumentar de tamanho. Os vetores podem ser facilmente alocados e podem ser usados quando o tamanho necessário do armazenamento não for conhecido até o tempo de execução. Vetores também podem conter apenas objetos e não podem conter tipos primitivos. Os vetores são sincronizados, portanto, podem ser usados com segurança em ambientes multithread. Os vetores são fornecidos com métodos para adicionar objetos, excluir objetos e pesquisar objetos. Semelhante ao arraylist em java, os vetores podem ser percorridos usando loops foreach, iteradores ou simplesmente usando os índices. Quando se trata de Java, os vetores foram incluídos desde a primeira versão do Java.

Qual é a diferença entre Arraylist e Vector?

Embora os arraylists e os vetores sejam muito semelhantes aos arrays dinâmicos que podem aumentar de tamanho, eles têm algumas diferenças importantes. A principal diferença entre arraylists e vetores é que os vetores são sincronizados, enquanto os arraylists não estão sincronizados. Portanto, usar arraylists em ambientes multithread não será adequado, enquanto os vetores podem ser usados com segurança em ambientes multithread (uma vez que são thread-safe). Mas a sincronização em vetores causaria uma redução no desempenho. Portanto, não seria uma boa ideia usar vetores em um ambiente de thread único. Internamente, tanto os arraylists quanto os vetores usam arrays para conter objetos. Quando o espaço atual não é suficiente, os vetores dobram o tamanho de sua matriz interna, enquanto as arraylists aumentam o tamanho de sua matriz interna em 50%. Mas ao usar arraylists e vetores, ao fornecer uma capacidade inicial adequada, o redimensionamento desnecessário do array interno pode ser evitado. Em uma situação em que a taxa de crescimento dos dados é conhecida, o uso de vetores seria mais adequado, uma vez que o valor incremental dos vetores poderia ser definido.

Recomendado: