Diferenças entre Java Vector e ArrayList

A única definição comum que lembraremos ao escrever sobre vetor (Java). Vetores Java são comumente usados ​​em vez de matrizes. Podemos dar exemplos para o mesmo - enquanto os dados estão aumentando automaticamente, eles se expandem. Podemos criar um vetor com tamanho inicial ou com tamanho inicial padrão.

Veremos o código para o tamanho inicial padrão ou o tamanho inicial:

  • Para criar um vetor com tamanho inicial padrão
    Vetor v = novo Vetor ();
  • Para criar um vetor com um tamanho inicial
    Vetor v = novo Vetor (300);

Abaixo estão os métodos vetoriais comuns:

  • add (o)
  • Claro()
  • firstElement (i)
  • listIterator ()
  • Tamanho()
  • toArray (Object ())

O Java ArrayList é uma das estruturas de dados mais simples e mais usadas nas classes de implementação da biblioteca da API Java. O principal é que ele usa uma matriz dinâmica para armazenar os elementos. Uma coisa que devemos lembrar ao criar matrizes é que elas têm comprimento fixo, uma vez criadas, não podemos fazer nenhuma modificação.

Abaixo estão os construtores

ArrayList () - Ajuda na construção da lista de matrizes vazia

ArrayList (Coleção c) - Ajuda na criação de uma lista de elementos construtivos em um

Coleção pré-especificada

ArrayList (capacidade int) - Ajuda na construção de uma lista vazia.

Abaixo estão os métodos mais usados ​​:: ::

  • Adição booleana (E obj)
  • add nulo (int index, E obj)
  • E get (índice int)
  • booleano contém (Object obj)
  • booleano isEmpty ()

O Java foi introduzido com uma nova coleção de API no Java 2.0 para fornecer as classes estruturadas uniformes. Quando a nova API for introduzida, haverá alterações nos métodos. Agora, aqui veremos alguns dos métodos antigos e novos alterados no momento da alteração da API.

Método antigoNovo método
Objeto elementAt (int)Objeto get (int)
void insertElementAt (Object, int)void add (índice, objeto)
void addElement (Object)add booleano (Object)
void setElementAt (int)Conjunto de objetos (int, Object)
void removeElementAt (int)remoção nula (int)
void removeAllElements ()vazio ()

Comparação cara a cara entre Java Vector vs ArrayList (Infographics)

Abaixo está a comparação Top 8 entre Java Vector vs ArrayList

Principais diferenças entre Java Vector e ArrayList

Abaixo estão as listas de pontos, descrevem as principais diferenças entre o vetor Java e o ArrayList

ArrayList não é sincronizado e não é seguro para threads, mas Vector é sincronizado e possui um thread para chamar métodos por vez. Porém, quando se trata de segurança, o caso de um único encadeamento é o único ArrayList, mas se estamos trabalhando em multithreading, precisamos preferir os Vectors. Se tivermos alguma dúvida ou confusão nos dados, podemos selecionar o vetor, porque no vetor podemos definir o valor do incremento.

Um vetor pode usar a interface Enumeration e Iterator para atravessar elementos, mas ArrayList só pode usar a interface Iterator para atravessar. Em vetor Se você estiver usando o wrapper Inteiro, não poderá alterar o valor inteiro. No vetor, os dois métodos mais usados ​​têm Next () e next (). As ArrayLists são criadas com o tamanho inicial, porque, se os objetos forem adicionados, o tamanho será aumentado e os objetos que estiverem removendo o tamanho diminuirão automaticamente.

A classe vetorial em Java implementa uma matriz dinâmica de objetos. É exatamente idêntico à matriz, contém elementos acessíveis usando um índice inteiro simples. No entanto, o tamanho de um vetor pode aumentar ou diminuir para acomodar a adição e remoção de itens conforme a necessidade.

Java Vector e ArrayList fornecem uma matriz redimensionável, o que significa uma matriz que pode aumentar o espaço. Java fornece classe vetorial para fornecer tamanho dinâmico, métodos predefinidos genéricos e úteis (já vimos os métodos na página 1). Use uma matriz se o tamanho for fixo; use Vector se o tamanho puder mudar. O Java Vector e o ArrayList são baseados em índices e usam a matriz internamente, e o Java Vector vs ArrayList mantém a ordem de inserção dos elementos. Java oferece uma classe ArrayList para fornecer recursos semelhantes aos métodos predefinidos dinâmicos, genéricos e úteis do vetor.

Java Vector e ArrayList ambas as classes usadas para uso dinâmico de matrizes. Classe ArrayList - E especifica o tipo de objetos que uma matriz pode conter. Aqui, a matriz criada é a variável 1 e pode aumentar ou diminuir com base na alocação do objeto. Vector :: class Vector - E representa o tipo de objeto que será armazenado na matriz.

Cursos recomendados

  • Curso de Treinamento em Estruturas de Dados e Algoritmos
  • Cursos de Gerenciamento de Defeitos
  • Programação Shell no programa Cygwin

Tabela de comparação entre Java Vector e ArrayList

A seguir, é apresentada a tabela de comparação entre Java Vector e ArrayList

Base para comparaçãoVetoresArrayList
BasicVetor é a classe herdada e é sincronizadaArrayList não é a classe herdada e não está sincronizada.
TamanhoQuase dobrará o tamanho se um número total de elementos aumentarArrayList aumentará em 50% do seu tamanho se o número de elementos aumentar
Crescimento de DadosO vetor cresce e diminui dinamicamente para manter o uso ideal do armazenamentoArrayList cresce e diminui dinamicamente para manter o uso ideal do armazenamento
InterfaceVetor usa interface Iterator e EnumeraçãoArrayList Usa interface Iterator
atuaçãoO vetor é lento quando comparado ao ArrayList porque está sincronizadoArrayList é rápido devido à não sincronização
Discussão segurasimNão
Introduzido emIntroduzido na versão JDK 1.0Introduzido na versão 1.2 do JDK
Definir tamanho do incrementoVetor define o tamanho do incrementoArrayList não define o tamanho do incremento

Conclusão Java Vector vs ArrayList

Finalmente, para concluir o vetor Java vs ArrayList, ambos têm vantagens e desvantagens. Ambos são muito bem sucedidos no mercado. ArrayList é uma vez recente se compararmos com Vector. ArrayList é preferido se você não precisar de sincronização. Ao usar Vector ou ArrayList, tente sempre inicializar a maior capacidade que seu programa precisará, porque expandir a matriz é caro. Eu

ArrayList é sincronizado porque, porque mais de um encadeamento pode ser operado na matriz ao mesmo tempo. Com referência à matriz, se um encadeamento estiver adicionando ao objeto, outro encadeamento está removendo um objeto da mesma matriz ao mesmo tempo.

Java Vector e ArrayList mantêm referências a objetos. Se a matriz estiver totalmente ocupada e se quisermos adicionar um novo objeto depois de totalmente ocupada, agora em ambos os casos o tamanho aumentará, mas a principal diferença ocorrerá em ArrayList, se o tamanho não for especificado, pode aumentar pela metade da matriz atual, mas O vetor pode dobrar o tamanho se o valor do incremento não for especificado.

Finalmente concluo dizendo que sempre prefere usar ArrayList. Por que, porque o ArrayList tem um desempenho mais rápido e melhor quando comparado ao Vector.

Artigo recomendado

Este foi um guia para as diferenças entre Java Vector e ArrayList, seu significado, comparação cara a cara, diferenças principais, tabela de comparação e conclusão. Você também pode consultar os seguintes artigos para saber mais -

  1. Java Performance vs Python: Quais são as diferenças
  2. Scala vs Java Performance: Qual é o melhor? (Infográficos)
  3. Java vs JavaScript - 8 comparação útil para aprender
  4. Java vs Python - As 9 principais comparações importantes que você deve aprender
  5. Java Heap vs Stack - 7 coisas incríveis que você deve saber
  6. C # Array vs List: Quais são os benefícios
  7. Matriz vs ArrayList | 6 principais diferenças