Entendendo o Java Vector: Uso, Recursos e Comparação com ArrayList
Entendendo o Java Vector
Este guia explica a classe Vector do Java, seus principais métodos e como ela difere do ArrayList. Aprenda quando escolher o Vector para segurança de threads e considerações de desempenho.
Java Vector vs. ArrayList
Tanto o ArrayList quanto o Vector fornecem arrays dinâmicos, mas diferem no tratamento de concorrência:
- Vector sincroniza cada chamada de método, adquirindo um bloqueio na instância antes da execução.
- ArrayList não é sincronizado por padrão; a segurança de threads pode ser adicionada com
Collections.synchronizedList()se necessário.
Devido ao bloqueio por operação, o Vector pode incorrer em sobrecarga em ambientes multi-thread, enquanto o ArrayList geralmente oferece melhor desempenho quando a segurança de threads não é necessária.
Dica: Prefira ArrayList para a maioria das aplicações. Use Vector apenas quando o código legado exigir ou quando precisar de sincronização embutida sem wrappers adicionais.
Criando um Vector
Você pode instanciar um Vector com um tipo genérico:
Vector<Tipo> vector = new Vector<>();
Exemplos:
// Vector de inteiros
Vector<Integer> numeros = new Vector<>();
// Vector de strings
Vector<String> palavras = new Vector<>();
Principais Métodos do Vector
A classe Vector oferece um conjunto completo de operações de lista, espelhando o ArrayList. Alguns métodos comumente usados incluem:
add(E elemento)– anexa um elemento.add(int indice, E elemento)– insere em uma posição específica.addAll(Collection<? extends E> c)– adiciona em massa.get(int indice)– recupera por índice.remove(int indice)– remove por índice.clear()– remove todos os elementos.size()– número atual de elementos.contains(Object o)– verifica existência.toArray()– converte para array.toString()– representação em string.set(int indice, E elemento)– substitui no índice.
Adicionando Elementos a um Vector
add(elemento)– anexa o elemento.add(indice, elemento)– insere em um índice específico.addAll(vector)– adiciona todos os elementos de outro vector.
Exemplo:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> mamiferos = new Vector<>();
mamiferos.add("Cachorro");
mamiferos.add("Cavalo");
mamiferos.add(2, "Gato");
System.out.println("Vector: " + mamiferos);
Vector<String> animais = new Vector<>();
animais.add("Crocodilo");
animais.addAll(mamiferos);
System.out.println("Novo Vector: " + animais);
}
}
Saída
Vector: [Cachorro, Cavalo, Gato] Novo Vector: [Crocodilo, Cachorro, Cavalo, Gato]
Acessando Elementos do Vector
get(indice)– recupera elemento por índice.iterator()– obtém um iterador para acesso sequencial.
Exemplo:
import java.util.Iterator;
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animais = new Vector<>();
animais.add("Cachorro");
animais.add("Cavalo");
animais.add("Gato");
String elemento = animais.get(2);
System.out.println("Elemento no índice 2: " + elemento);
Iterator<String> iter = animais.iterator();
System.out.print("Vector: ");
while(iter.hasNext()) {
System.out.print(iter.next() + ", ");
}
}
}
Saída
Elemento no índice 2: Gato Vector: Cachorro, Cavalo, Gato,
Removendo Elementos de um Vector
remove(indice)– remove o elemento na posição especificada.clear()– remove todos os elementos eficientemente.
Exemplo:
import java.util.Vector;
class Main {
public static void main(String[] args) {
Vector<String> animais = new Vector<>();
animais.add("Cachorro");
animais.add("Cavalo");
animais.add("Gato");
System.out.println("Vector Inicial: " + animais);
String removido = animais.remove(1);
System.out.println("Elemento Removido: " + removido);
System.out.println("Novo Vector: " + animais);
animais.clear();
System.out.println("Vector após clear(): " + animais);
}
}
Saída
Vector Inicial: [Cachorro, Cavalo, Gato] Elemento Removido: Cavalo Novo Vector: [Cachorro, Gato] Vector após clear(): []
Métodos Adicionais do Vector
| Método | Descrição |
|---|---|
set(int indice, E elemento) |
Substitui o elemento na posição especificada. |
size() |
Retorna o número de elementos. |
toArray() |
Converte o conteúdo para um array. |
toString() |
Representação em string do vector. |
contains(Object o) |
Verifica se o vector contém o elemento especificado. |
Java
- Dominando Operadores Java: Tipos, Sintaxe e Exemplos Práticos
- Comentários em Java: Tipos, Uso e Boas Práticas
- Dominando o Loop for Aprimorado em Java: Sintaxe, Exemplos e Boas Práticas
- Dominando Strings em Java: Criação, Métodos e Boas Práticas
- Dominando Interfaces em Java: Conceitos, Implementação e Boas Práticas
- Dominando Classes Internas Anônimas em Java: Definição, Sintaxe e Exemplos Práticos
- Dominando Try-With-Resources em Java: Gerenciamento Automático de Recursos Explicado
- Anotações em Java Explicadas: Tipos, Posicionamento e Exemplos Práticos
- Asserções em Java: Guia Prático para Detectar Bugs e Garantir Confiabilidade do Código
- Java 8: Guia de Referência Rápida Completo