Vector Java (com exemplos)

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 vetores
  • add(index, element) - adiciona um elemento à posição especificada
  • addAll(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 índice
  • iterator() - 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 especificada
  • removeAll() - remove todos os elementos
  • clear()- 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

Artigos interessantes...