Neste tutorial, aprenderemos sobre a classe Vector e como usá-la. Também aprenderemos como ela é diferente da classe ArrayList e por que devemos usar listas de arrays.
A Vectorclasse é uma implementação da Listinterface que nos permite criar arrays redimensionáveis semelhantes à classe ArrayList.
Java Vector vs. ArrayList
Em Java, ArrayListe Vectorimplementa a Listinterface e fornece as mesmas funcionalidades. No entanto, existem algumas diferenças entre eles.
A Vectorclasse sincroniza cada operação individual. Isso significa que sempre que quisermos realizar alguma operação em vetores, a Vectorclasse aplica automaticamente um bloqueio a essa operação.
Isso ocorre porque quando uma thread está acessando um vetor, e ao mesmo tempo outra thread tenta acessá-lo, uma exceção chamada ConcurrentModificationExceptioné gerada. Conseqüentemente, esse uso contínuo de bloqueio para cada operação torna os vetores menos eficientes.
No entanto, nas listas de array, os métodos não são sincronizados. Em vez disso, ele usa o Collections.synchronizedList()método que sincroniza a lista como um todo.
Nota: É recomendado usar ArrayListno lugar de Vectorporque os vetores não são seguros para thread e são menos eficientes.
Criação de um vetor
Aqui está como podemos criar vetores em Java.
Vector vector = new Vector();
Aqui, Tipo indica o tipo de uma lista vinculada. Por exemplo,
// create Integer type linked list Vector vector= new Vector(); // create String type linked list Vector vector= new Vector();
Métodos de vetor
A Vectorclasse também fornece as implementações de array redimensionável da Listinterface (semelhante à ArrayListclasse). Alguns dos Vectormétodos são:
Adicionar elementos ao vetor
add(element)- adiciona um elemento aos vetoresadd(index, element)- adiciona um elemento à posição especificadaaddAll(vector)- adiciona todos os elementos de um vetor a outro vetor
Por exemplo,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector mammals= new Vector(); // Using the add() method mammals.add("Dog"); mammals.add("Horse"); // Using index number mammals.add(2, "Cat"); System.out.println("Vector: " + mammals); // Using addAll() Vector animals = new Vector(); animals.add("Crocodile"); animals.addAll(mammals); System.out.println("New Vector: " + animals); ) )
Resultado
Vetor: (Cão, Cavalo, Gato) Novo Vetor: (Crocodilo, Cão, Cavalo, Gato)
Acessar elementos vetoriais
get(index)- retorna um elemento especificado pelo índiceiterator()- retorna um objeto iterador para acessar sequencialmente os elementos do vetor
Por exemplo,
import java.util.Iterator; import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); // Using get() String element = animals.get(2); System.out.println("Element at index 2: " + element); // Using iterator() Iterator iterate = animals.iterator(); System.out.print("Vector: "); while(iterate.hasNext()) ( System.out.print(iterate.next()); System.out.print(", "); ) ) )
Resultado
Elemento no índice 2: Vetor de gato: cachorro, cavalo, gato,
Remover elementos vetoriais
remove(index)- remove um elemento da posição especificadaremoveAll()- remove todos os elementosclear()- remove todos os elementos. É mais eficiente do queremoveAll()
Por exemplo,
import java.util.Vector; class Main ( public static void main(String() args) ( Vector animals= new Vector(); animals.add("Dog"); animals.add("Horse"); animals.add("Cat"); System.out.println("Initial Vector: " + animals); // Using remove() String element = animals.remove(1); System.out.println("Removed Element: " + element); System.out.println("New Vector: " + animals); // Using clear() animals.clear(); System.out.println("Vector after clear(): " + animals); ) )
Resultado
Vetor inicial: (cão, cavalo, gato) Elemento removido: Cavalo Novo vetor: (cão, gato) Vetor após limpar (): ()
Outros Métodos Vetoriais
| Métodos | Descrições |
|---|---|
set() | muda um elemento do vetor |
size() | retorna o tamanho do vetor |
toArray() | converte o vetor em uma matriz |
toString() | converte o vetor em uma string |
contains() | pesquisa o vetor para o elemento especificado e retorna um resultado booleano |








