Vetor em java | Classe Vetorial Java com Exemplos

Publicados: 2021-05-26

Na programação, uma das estruturas de dados mais usadas é Vector em Java. Arrays são estruturas de dados estáticas que podem armazenar dados linearmente. Da mesma forma, o vetor em java também armazena os dados linearmente, mas eles não estão restritos a um tamanho fixo. Em vez disso, seu tamanho pode aumentar ou diminuir conforme a necessidade. A classe pai é a classe AbstractList e é implementada na Interface de Lista.

Antes de começar a usar vetores, importe-o do java.util.package da seguinte forma:

import java.util.Vector

Índice

Declaração e avaliação de elementos de um vetor

Aqui está como um vetor em java é declarado:

classe pública Vector<V> estende AbstractList<V>

implementa List<V>, RandomAccess, Cloneable, Serializable

Aqui, V é o tipo de elemento que pode ser int, string, char, etc.

Assim como acessamos membros de dados em arrays, também podemos fazer isso em vetores, usando o índice do elemento. Por exemplo, o segundo elemento do Vetor E pode ser acessado como E[2].

Alguns erros comuns cometidos ao declarar um vetor em java:

  • Um IllegalArgumentException é lançado se o tamanho inicial do vetor for um valor negativo
  • Um NullPointerException é lançado se a coleção especificada for nula
  • O tamanho do vetor é menor ou igual à capacidade do vetor
  • A capacidade é dobrada em cada ciclo de incremento se o incremento de vetor não for especificado

Construtores

1. Vetor(int inicialCapacidade, int Incremento)

Isso cria um vetor em java com uma capacidade inicial conforme especificado e o incremento também é especificado. Com incremento, é especificado o número de elementos alocados cada vez que o vetor é redimensionado para cima.

Sintaxe: Vetor<V> e = new Vetor<V>(int inicialCapacidade, int Incremento);

2. Vetor(int inicialCapacidade)

Ele cria um vetor em java com uma capacidade inicial igual ao tamanho especificado.

Sintaxe: Vetor<V> e = new Vetor<V>(int inicialCapacidade);

3. Vetor()

Ele cria um vetor em java com uma capacidade inicial padrão de 10.

Sintaxe: Vetor<V> e = new Vetor<V>();

4. Vetor (Coleção c)

Cria um vetor em java cujos elementos são os da coleção c.

Sintaxe: Vetor<V> e = new Vetor<V>(Coleção c);

Aqui está um exemplo para demonstrar a criação e uso de um vetor em java:

Código

import java.util.*;

classe pública Main{

public static void main(String[] args)

{

// Cria vetor padrão

Vetor a = new Vetor();

// Cria um vetor de Tamanho especificado

Vetor b = new Vetor(20);

// Cria um vetor de Tamanho e Incremento especificados

Vetor c = new Vetor(30,10);

b.adicionar(100);

b.adicionar(200);

b.adicionar(300);

// Cria um vetor com uma coleção especificada

Vetor d = novo Vetor(b)

System.out.println(“Vetor a de capacidade ” + a.capacity());

System.out.println(“Vetor b de capacidade ” + b.capacity());

System.out.println(“Vetor c de capacidade ” + c.capacity());

System.out.println(“Vetor d de capacidade ” + d.capacity());

}}

Saída

Nota: .capacity() é usado para retornar a capacidade do vetor.

Um vetor em java tem três parâmetros protegidos da seguinte forma:

1. Int elementCount()- Diz o número de elementos que um vetor contém

2. Int capcityIncremen()- Quando o tamanho do vetor se torna maior que a capacidade, a capacidade é automaticamente aumentada com isso.

3. Object[] elementData()- Os elementos do vetor são armazenados no array.

Métodos

Aqui estão alguns métodos de vetor usados ​​com frequência em java:

1. Adicionar Elementos

Boolean add(Object o)- Um elemento é anexado no final do vetor

Void add( int index V element)- O elemento dado é adicionado ao índice especificado no vetor

Código para adicionar os elementos em Vector em java:

import java.util.*;

import java.io.*;

public class AddElementsToVector {

public static void main(String[] arg)

{

// Cria um vetor padrão

Vetor a = new Vetor();

// Adicionando elementos usando o método add()

a.adicionar(1);

a.adicionar(2);

a.add(“vecto”);

a.add("para");

a.adicionar(3);

System.out.println(“Vetor a é ” + a);

// Cria um vetor genérico

Vetor<Integer> b = new Vetor<Integer>();

b.adicionar(0);

b.adicionar(1);

b.adicionar(2);

System.out.println(“Vetor b é ” + b);

}

}

Saída

2. Remover Elementos

Boolean Remove(object o) – usado para remover o elemento no índice especificado no vetor

Quando o elemento é removido, todos os elementos são deslocados para a esquerda para preencher os espaços; os índices são então atualizados.

Código para ilustrar a remoção de elementos do vetor em java:

import java.util.*;

import java.io.*;

classe pública Remover {

public static void main(String[] arg)

{

// Cria um vetor padrão

Vetor a = new Vetor();

// Adicionando elementos usando o método add()

a.adicionar(1);

a.adicionar(2);

a.add(“vecto”);

a.add("para");

a.adicionar(4);

//Remove o elemento

a.remover(2);

// Verificar

System.out.println(“após remoção: ” + a);

}

}

Saída

Checkout: Como fazer uma carreira de sucesso em Java?

3. Alterar Elementos

O método set() pode ser usado para alterar o elemento após adicionar os elementos. O índice do elemento pode ser referenciado como um vetor é indexado. Este método pega o índice e o elemento atualizado.

Código para alterar os elementos em vetor em java

import java.util.*;

atualização de classe pública {

public static void main(String args[])

{

// Cria um vetor vazio

Vetor<Integer> a = new Vetor<Integer>();

// Adiciona elementos

a.adicionar(1);

a.adicionar(2);

a.adicionar(3);

a.adicionar(10);

a.adicionar(20);

// Tela

System.out.println(“Vetor: ” + a);

// Substituir

System.out.println(“Substituindo”

+ a.set(0, 22));

System.out.println(“Substituindo “

+ a.set(4, 50));

// Exibe o vetor modificado

System.out.println(“O novo vetor é:” + a);

}

}

Saída

4. Iterar o vetor

Existem várias maneiras de percorrer um vetor. Um deles é o método get(). Aqui está um programa para iterar os elementos em um vetor em java:

import java.util.*;

classe pública Iterar {

public static void main(String args[])

{

//criando uma instância de vetor

Vetor<> a = new Vetor<>();

// Adiciona elementos usando o método add()

a.add(“vetor”);

a.add(“em”);

a.add(1, “java”);

// Usa o método Get e o loop for

for (int i = 0; i < a.size(); i++) {

System.out.print(a.get(i) + ” “);

}

System.out.println();

// Usa para cada loop

for (String str : a)

System.out.print(str + ” “);

}

}

Saída

Leia: Arquitetura e componentes Java

Outros métodos importantes

  • Int size() – usado para retornar o tamanho do vetor
  • Object get(int index) – usado para retornar o elemento na posição especificada no vetor
  • Object firstElement() – usado para retornar o primeiro elemento do vetor em java
  • Object lastElement() – usado para retornar o último elemento do vetor em java
  • Boolean equals(Object o) – usado para comparar o vetor com o objeto dado para igualdade. Retorna verdadeiro se todos os elementos forem verdadeiros em seus respectivos índices
  • Void trimtosize() – usado para remover capacidade adicional e manter a capacidade igual ao tamanho

Mais sobre vetores

  • Um vetor em java é uma estrutura de dados dinâmica que pode ser acessada usando um índice inteiro.
  • Embora semelhante ao ArrayList, ele é sincronizado, contendo alguns métodos legados não disponíveis na estrutura de coleta.
  • A ordem de inserção é mantida.
  • Raramente é usado em um ambiente sem thread.
  • Devido à sincronização, os vetores têm um desempenho ruim na busca, adição, atualização e exclusão de elementos.
  • Os iteradores da classe vetorial falham rapidamente e lançam o ConcurrentModificationException em caso de modificação simultânea.
  • Uma pilha é sua subclasse diretamente conhecida.

Alocação de Memória em Vetores

Como visto acima, os vetores não possuem um tamanho definido. Em vez disso, um vetor em java pode alterar seu tamanho dinamicamente. Assume-se que os vetores alocam espaço indefinido para armazenar elementos. Entretanto, não é assim. O tamanho do vetor é alterado com base em dois campos - 'incremento de capacidade' e 'capacidade'.

Quando um vetor é declarado, um campo de 'capacidade' igual ao tamanho é alocado e elementos iguais à capacidade podem ser adicionados. Assim que o próximo elemento é inserido, o tamanho do array é aumentado pelo tamanho 'capacityIncrement'. Isso dá ao vetor a capacidade de alterar seu tamanho - a capacidade dobra para um construtor padrão quando um novo elemento é inserido.

Aprenda cursos de software online das melhores universidades do mundo. Ganhe Programas PG Executivos, Programas de Certificado Avançado ou Programas de Mestrado para acelerar sua carreira.

Vantagens do Vector em Java

O tamanho dinâmico dos vetores evita o desperdício de memória, e o tamanho da nossa estrutura de dados pode ser alterado a qualquer momento no meio do programa.

Ambos os vetores e ArrayLists são dinâmicos. No entanto, os vetores são mais vantajosos como:

  • Os vetores são sincronizados.
  • Possui algumas funções legadas que não podem ser implementadas em ArrayLists.

Conclusão

Um vetor em java é um array dinâmico sem limite de tamanho que faz parte do Java Collection Framework desde o Java 1.2. Vimos vários construtores e métodos de vetores usados ​​popularmente neste blog. Também vale a pena observar que a classe Vector deve ser usada apenas em um ambiente thread-safe.

Se você estiver interessado em aprender mais sobre Java, OOPs e desenvolvimento de software full-stack, confira o Executive PG Program in Software Development – ​​Specialization in Full Stack Development do upGrad & IIIT-B, que é projetado para profissionais que trabalham e oferece mais de 500 horas de treinamento rigoroso, mais de 9 projetos e atribuições, status de ex-alunos do IIIT-B, projetos práticos práticos e assistência de trabalho com as principais empresas.

O que é um vetor em Java?

Um vetor é uma estrutura de dados em Java. Como o nome sugere, um vetor é um tipo de sequência de elementos. Ele usa uma matriz dinâmica que cresce e diminui à medida que é acessada. Ele tem um método size() para obter o tamanho atual do vetor e um método capacity() para obter a capacidade do vetor. Esses dois métodos retornam os valores maiores que zero. A capacidade do vetor é o número de elementos que podem ser armazenados dentro do vetor sem a necessidade de alocar um novo array. O tamanho do vetor é o número de elementos atualmente armazenados dentro do vetor.

Quais são as vantagens dos vetores sobre os arrays?

Os arrays são de tamanho fixo, o que significa que eles não podem crescer ou diminuir conforme necessário. Os vetores são implementados como matrizes redimensionáveis ​​dinamicamente, permitindo que eles cresçam e diminuam conforme necessário. Isso é útil para o crescimento constante dos dados; por exemplo, um programa que lê arquivos de texto linha por linha poderá crescer de acordo com o tamanho do arquivo. Vetores são geralmente mais eficientes que arrays. Isso ocorre porque os vetores são implementados como arrays de referências (java.lang.Objects), enquanto os arrays são implementados como arrays de objetos.

O que é ArrayList em Java?

A classe ArrayList representa um array dinâmico. Pode crescer conforme necessário para acomodar novos elementos. A matriz é realmente implementada como uma lista de referências a objetos. Sempre que um elemento precisa ser criado, uma referência a um novo objeto é disponibilizada. Isso é possível devido ao fato de que ArrayList é implementado como uma lista redimensionável dinamicamente. ArrayList herda a maioria de seus métodos e campos de AbstractList. ArrayList é mais rápido que um array, pois não precisa criar novos objetos. Métodos mutantes que alteram o tamanho da matriz, como adicionar, definir e remover, são chamados de métodos destrutivos, pois alteram permanentemente o tamanho da matriz.