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 antigo | Novo 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ção | Vetores | ArrayList |
Basic | Vetor é a classe herdada e é sincronizada | ArrayList não é a classe herdada e não está sincronizada. |
Tamanho | Quase dobrará o tamanho se um número total de elementos aumentar | ArrayList aumentará em 50% do seu tamanho se o número de elementos aumentar |
Crescimento de Dados | O vetor cresce e diminui dinamicamente para manter o uso ideal do armazenamento | ArrayList cresce e diminui dinamicamente para manter o uso ideal do armazenamento |
Interface | Vetor usa interface Iterator e Enumeração | ArrayList Usa interface Iterator |
atuação | O vetor é lento quando comparado ao ArrayList porque está sincronizado | ArrayList é rápido devido à não sincronização |
Discussão segura | sim | Não |
Introduzido em | Introduzido na versão JDK 1.0 | Introduzido na versão 1.2 do JDK |
Definir tamanho do incremento | Vetor define o tamanho do incremento | ArrayList 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 -
- Java Performance vs Python: Quais são as diferenças
- Scala vs Java Performance: Qual é o melhor? (Infográficos)
- Java vs JavaScript - 8 comparação útil para aprender
- Java vs Python - As 9 principais comparações importantes que você deve aprender
- Java Heap vs Stack - 7 coisas incríveis que você deve saber
- C # Array vs List: Quais são os benefícios
- Matriz vs ArrayList | 6 principais diferenças