Diferença entre ArrayList e vetor em Java
Contente
ArrayList e Vector são as classes na hierarquia do Collection Collection. ArrayList e Vector, ambos são usados para criar uma matriz dinâmica de objetos em que a matriz pode crescer em tamanho conforme e quando necessário. Existem duas diferenças básicas que distinguem ArrayList e Vector: o Vector pertence às classes Legacy que foram reengenharia posteriormente para dar suporte às classes de coleção, enquanto que um ArrayList é uma classe de coleção padrão. Outra diferença importante é que o ArrayList não é sincronizado, por outro lado; O vetor está sincronizado.
Vamos estudar algumas outras diferenças com a ajuda do Gráfico de comparação mostrado abaixo.
- Gráfico de comparação
- Definição
- Principais diferenças
- Semelhanças
- Conclusão
Gráfico de comparação
Base para Comparação | ArrayList | Vetor |
---|---|---|
Basic | A classe ArrayList não está sincronizada. | A classe de vetor é sincronizada. |
Classe herdada | ArrayList é uma classe Collection padrão. | Vector é uma classe herdada, reprojetada para oferecer suporte à classe de coleção. |
Declaração de classe | classe ArrayList | vetor de classe |
Realocação | Quando não especificado, um ArrayList é incrementado pela metade do seu tamanho. | Quando não especificado, um vetor é incrementado para dobrar seu tamanho. |
atuação | Como ArrayList não é sincronizado, ele opera mais rapidamente que Vector. | Como o vetor é sincronizado, ele opera mais lentamente que o ArrayList. |
Enumeração / Iterador | ArrayList usa a interface Iterator para percorrer os objetos armazenados em ArrayList. | O vetor usa a enumeração e a interface Iterator para percorrer os objetos armazenados nos vetores. |
Definição de ArrayList
ArrayList pertence à lista de classes de coleção padrão. A classe ArrayList é definida dentro do java.util pacote, estende o AbstractList classe que também é uma classe de coleção padrão e também implementa Lista, uma interface definida em interfaces de coleção. Em Java, uma matriz padrão é sempre de comprimento fixo. Isso significa que uma vez criado; não cresce nem diminui dinamicamente em tamanho. Portanto, você deve ter o conhecimento prévio do comprimento da matriz que está usando. Mas, às vezes, pode acontecer que o comprimento necessário seja revelado em tempo de execução, portanto, para lidar com esse tipo de situação, java introduziu ArrayList.
O ArrayList é uma classe usada para criação dinâmica de uma matriz que mantém as referências aos objetos. Essa matriz pode crescer em tamanho conforme e quando necessário. A declaração de classe é a seguinte:
classe ArrayList Aqui, E especifica o tipo de objetos que uma matriz manterá. A matriz criada é de tamanho variável e aumenta e diminui de tamanho quando objetos são adicionados ou removidos da lista. O ArrayList não está sincronizado, o que significa que mais de um encadeamento pode operar no array ao mesmo tempo. Por exemplo, se um thread estiver adicionando uma referência de objeto à matriz e outro thread estiver removendo uma referência de objeto da mesma matriz ao mesmo tempo. A criação de uma matriz dinâmica usando a classe ArrayList: ArrayList No código acima, você pode ver isso; Eu criei uma matriz de objetos do tipo string. Adicionei alguns objetos à matriz S1 usando o método add () e, posteriormente, excluí alguns objetos usando o método remove (). Você pode observar se não especificar o tamanho inicial da matriz, que terá o comprimento '0'. Como você pode ver, a matriz aumenta e diminui de tamanho à medida que você adiciona e exclui os elementos. Vector é uma classe Legacy que foi reengenharia para oferecer suporte à classe de coleção na hierarquia do Collection Framework. A classe de vetor também é definida em java.util pacote, estendido por AbstractList classe e implementado pelo Lista interface. A classe Vector é declarada da seguinte maneira: vetor de classe Aqui, o E define o tipo de objeto que será armazenado em uma matriz. Uma matriz criada usando a classe Vector é de tamanho variável. Aumenta o dobro do tamanho se o incremento não for especificado. Vamos entender a criação da matriz usando Vector. Vetor No código acima, você pode ver que, mencionei o tamanho e o valor do incremento no construtor Vector, respectivamente, enquanto declara a matriz de objetos de string. Portanto, você pode observar que, à medida que o limite da matriz termina, ele aumenta pelo valor fornecido ao construtor durante a declaração. Concluo dizendo que o uso de ArrayList é melhor do que o Vector, pois ele executa mais rápido e melhor.Definição de vetor
Semelhanças:
Conclusão: