O que é Vector em Java e como o usamos?



Este blog sobre 'Vetores em Java' ajudará você a entender como a classe vetorial é diferente de ArrayList e a aprender sobre os diferentes métodos envolvidos.

Vetores em são uma das estruturas de dados mais comumente usadas no mundo da programação.Nós todos sabemos isso Arrays são estruturas de dados que mantêm os dados de forma linear. Os vetores também armazenam os dados de maneira linear, mas, ao contrário dos Arrays, eles não têm um tamanho fixo. Em vez disso, seu tamanho pode ser aumentado sob demanda.

A classe Vector é uma classe filha de AbstractList aula e implementos em Lista .Para usar vetores, primeiro temos que importar a classe Vector do pacote java.util:





import java.util.Vector

Neste artigo, iremos discutir os seguintes conceitos de vetores:



Vamos começar!

Vantagem s de vetor em Java

  • A propriedade de ter um tamanho dinâmico é muito útil, pois evita o desperdício de memória caso não saibamos o tamanho do estrutura de dados no momento da declaração.
  • Quando queremos mudar o tamanho de nossa estrutura de dados no meio de um programa, os vetores podem ser muito úteis.

A propriedade de ter um tamanho dinâmico não é exclusiva dos Vetores em Java. Outra estrutura de dados, conhecida como ArrayList, também mostra a propriedade de ter um tamanho dinâmico. No entanto, vetores são diferentes de ArrayLists devido a alguns motivos:

  • Primeiro, os vetores são sincronizados, o que dá uma vantagem sobre em comparação com programas, pois há riscos de corrupção de dados.
  • Em segundo lugar, os vetores têm algumas funções legadas que podem ser implementadas apenas em vetores e não em ArrayLists.

Como acessar elementos em vetor

Podemos acessar os membros de dados simplesmente usando o índice do elemento, da mesma maneira que acessamos os elementos em Arrays.



Exemplo- Se quisermos acessar o terceiro elemento em um vetor v, simplesmente nos referimos a ele como v [3].

o que é anaconda para python

Construtores de vetores

Listadas abaixo estão as múltiplas variações de vetor construtores Disponível para uso:

  1. Vetor (int initialCapacity, int Increment) - Constrói um vetor com a capacidade inicial fornecida e seu incremento de tamanho.
  2. Vetor (int initialCapacity) - Constrói um vetor vazio com a capacidade inicial fornecida. Nesse caso, o incremento é zero.
  3. Vetor() - Constrói um vetor padrão de capacidade 10.
  4. Vetor (coleção c) - Constrói um vetor com uma determinada coleção, a ordem dos elementos é a mesma retornada pelo iterador da coleção.

Existem também três parâmetros protegidos em vetores

  1. Int capacityIncrement () - Ele aumenta automaticamente a capacidade do vetor quando o tamanho se torna maior que a capacidade.
  2. Int elementCount () - diga o número de elementos no vetor
  3. Object [] elementData () - matriz na qual os elementos do vetor são armazenados

Erros mais comuns na declaração de vetores

  • Vector lança um Exceção de argumento ilegal se o InitialSize do vetor definido for negativo.
  • Se a coleção especificada for nula, ele lança Null Pointer Exception

Nota:

  1. Se o incremento do vetor não for especificado, sua capacidade serádobrou em cada ciclo de incremento.
  2. A capacidade de um vetor não pode ser inferior ao tamanho, pode ser igual a ele.

Vamos considerar um exemplo de inicialização de construtores de vetores.

Exemplo: Inicializando Construtores de Vetores

/ Código Java ilustrando construtores de vetores import java.util. * Public class Main {public static void main (String [] args) {// criar vetor vetor padrão v1 = new Vector () // criar um vetor de determinado vetor de tamanho v2 = new Vector (20) // cria um vetor de determinado tamanho e vetor de incremento v3 = new Vector (30,10) v2.add (100) v2.add (100) v2.add (100) // cria um vetor com determinado coleção Vetor v4 = novo Vetor (v2) System.out.println ('Vetor v1 de capacidade' + v1.capacity ()) System.out.println ('Vetor v2 de capacidade' + v2.capacity ()) System.out .println ('Vetor v3 de capacidade' + v3.capacity ()) System.out.println ('Vetor v4 de capacidade' + v4.capacity ())}

Resultado

Construtores - Vetores em Java - Edureka

Alocação de memória de vetores

Até agora, você deve ter entendido que os vetores não têm um tamanho fixo, em vez disso, eles têm a capacidade de alterar seu tamanho dinamicamente. Pode-se pensar que os vetores alocam um espaço longo indefinido para armazenar objetos. Mas este não é o caso. Os vetores podem mudar seu tamanho com base em dois campos 'capacidade' e 'capacidadeIncremento'. Inicialmente, um tamanho igual ao campo de 'capacidade' é alocado quando um vetor é declarado. Podemos inserir os elementos iguais à capacidade. Mas assim que o próximo elemento é inserido, ele aumenta o tamanho da matriz por tamanho ‘capacityIncrement’. Portanto, é capaz de alterar seu tamanho dinamicamente.

Para construtor padrão , a capacidade é duplicada sempre que a capacidade está cheia e um novo elemento deve ser inserido.

Exemplo - Suponha que temos um vetor de capacidade inicial 5 e capacidadeIncremento de 2. Portanto, o tamanho inicial do vetor é de 5 elementos. Nós inserimos 5 elementos neste vetor, um por um, a saber, 1,2,3,4,5. Quando tentamos inserir outro elemento no vetor, a saber, 6, o tamanho do vetor será incrementado em 2. Portanto, o tamanho do vetor agora é 7. Portanto, o vetor ajusta facilmente seu tamanho de acordo com o não. de elementos.

Outro ponto interessante é que, ao contrário dos arrays, os vetores não contêm objetos reais, mas apenas referências aos objetos. Conseqüentemente, permite que objetos de diferentes tipos de dados sejam armazenados no mesmo vetor.

Métodos em vetor

Vamos dar uma olhada em alguns métodos vetoriais usados ​​com frequência.

  • Boolean add (Object o) - Ele anexa um elemento no final do vetor.
// Código Java mostrando o método booleano add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1 ) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final do list v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('The vector is' + v)}}

Resultado

  • Adicionar vazio (índice int, elemento E) - Ele adiciona o elemento dado no índice especificado no vetor
// Código Java mostrando o método void add () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (0 , 1) // Adiciona 1 no índice 0 v.add (1, 'Java') // Adiciona 'Java' no índice 1 v.add (2, 'é') // Adiciona 'é' no índice 2 v.add (3, 'Fun') // Adiciona 'Fun' no índice 3 v.add (4, '!!!') // Adiciona 'Fun' no índice 4 System.out.println (' O vetor é '+ v)}}

Resultado

  • Boolean Remove (objeto o) - Ele remove remove o elemento no índice dado no vetor
// Código Java mostrando o método booleano remove () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1 ) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final do list v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('Vector antes da remoção' + v) v.remove (1) System.out.println ('Vector após remoção '+ v)}}

Resultado

  • Boolean removeElement ( Objeto obj) - Exclui o elemento por seu nome obj (não pelo número do índice)
// Código Java mostrando o método removeElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final da lista v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('Vector antes da remoção' + v) v.removeElement ('Java') System.out.println ('Vector após a remoção '+ v)}}

Resultado

  • Tamanho interno () - Ele retorna o tamanho do vetor.
// Código Java mostrando o método size () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (0, 1) // Adiciona 1 no índice 0 v.add (1, 'Java') // Adiciona 'Java' no índice 1 v.add (2, 'é') // Adiciona 'é' no índice 2 v.add (3, 'Fun') // Adiciona 'Fun' no índice 3 System.out.println ('O tamanho do vetor é' + v.size ())}}

Resultado

  • Capacidade Int () - Ele retorna a capacidade do vetor
// Código Java mostrando o método capacity () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (0, 1) // Adiciona 1 no índice 0 v.add (1, 'Java') // Adiciona 'Java' no índice 1 v.add (2, 'é') // Adiciona 'é' no índice 2 v.add (3, 'Fun') // Adiciona 'Fun' no índice 3 System.out.println ('A capacidade do vetor é' + v.capacity ())}}

Resultado

  • Object get (int index) - Ele retorna o elemento na posição dada no vetor
// Código Java mostrando o método get () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final da lista v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('O elemento no índice 1 é' + v.get (1))}}

Resultado

  • Objeto firstElement () - Ele retorna o primeiro elemento
// Código Java mostrando o método firstElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final da lista v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('O primeiro elemento é' + v.firstElement ())}}

Resultado

  • Objeto lastElement () - Ele retorna o último elemento
// Código Java mostrando o método lastElement () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (1) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('é') // Adiciona 'é' no final da lista v.add ('Fun') // Adiciona 'Fun' no final da lista System.out.println ('O último elemento é' + v.lastElement ())}}

Resultado

  • Boolean equals (Object o) - Ele compara o vetor com o objeto especificado para igualdade. Retorna verdadeiro se todos os elementos forem verdadeiros em seus índices correspondentes
// Código Java mostrando o método equals () booleano import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão Vector vcopy = new Vector () v.add (1) // Adiciona 1 no final da lista v.add ('Java') // Adiciona 'Java' no final da lista v.add ('is') // Adiciona ' é 'no final da lista v.add (' Fun ') // Adiciona' Fun 'no final da lista vcopy.add (0,1) // Adiciona 1 no índice 0 vcopy.add (1, 'Java') // Adiciona 'Java' no índice 1 vcopy.add (2, 'is') // Adiciona 'é' no índice 2 vcopy.add (3, 'Fun') // Adiciona 'Fun' no índice 3 vcopy.add (4, '!!!') // Adiciona 'Diversão' no índice 4 if (v.equals (vcopy)) System.out.println ('Ambos os vetores são iguais') else System .out.println ('Os vetores não são iguais')}}

Resultado

  • Vazio trimtosize () - Este método remove a capacidade extra e mantém a capacidade apenas para conter os elementos, ou seja, igual ao tamanho
// Código Java mostrando o método trimToSize () import java.util. * Public class Main {public static void main (String [] args) {Vector v = new Vector () // Cria um vetor padrão v.add (0, 1) // Adiciona 1 no índice 0 v.add (1, 'Java') // Adiciona 'Java' no índice 1 v.add (2, 'é') // Adiciona 'é' no índice 2 v.add (3, 'Fun') // Adiciona 'Fun' no índice 3 System.out.println ('A capacidade do vetor é' + v.capacity ()) v.trimToSize () System.out.println ( 'A capacidade do vetor é' + v.capacity ())}}

Resultado


Outros Métodos Importantes

Você já deve ter uma boa ideia de como trabalhar com vetores. Se você deseja explorar mais métodos vetoriais, dê uma olhada na tabela fornecida a seguir.

Nome do Método Função do Método

Boolean isEmpty ()

verifica se os elementos existem ou não

Boolean contém (objeto o)

usado para verificar a existência de um elemento específico, digamos o

int indexOf (Object o)

Ele retorna o índice do elemento o

void removeRange (int s, int e)

remove elementos do vetor começando em se terminando com (e-1)

void clear ()

remove todos os elementos

void garantirCapacity (int c)

Aumenta a capacidade em c

void setSize (int s)

Ele define o tamanho para s. Se o tamanho s>, a capacidade extra é preenchida com valores nulos. Se s

Object elementAt (int a)

retorna o elemento existente no índice número a

estrutura baseada em dados em selênio webdriver

Conjunto de objetos (int a, Object o)

substitui o elemento presente no índice a pelo elemento o dado

Object [] toArray ()

retorna uma matriz contendo os mesmos elementos do vetor

Clone de objeto ()

O objeto vetorial é copiado

Boolean addAll (coleção c)

adiciona todos os elementos da coleção c ao vetor

Boolean addAll (int a, Collection c)

insere todos os elementos da coleção c para o vetor no índice especificado a

Boolean reterAll (coleção c)

retém todos os elementos do vetor que também existem na coleção c

List subList (int s, int e)

retorna os elementos, como um objeto List, começando de se terminando com (e-1) do vetor.

À medida que tudo de bom chega ao fim, o mesmo acontece com nosso blog sobre Vetores em . Esperamos que tenhamos conseguido cobrir todos os aspectos dos vetores java neste blog e que você pudesse reunir algum conhecimento sobre os vetores.

Pratique o máximo possível e reverta sua experiência.

Confira o pela Edureka, uma empresa de aprendizagem online confiável com uma rede de mais de 250.000 alunos satisfeitos espalhados por todo o mundo. Estamos aqui para ajudá-lo em todas as etapas de sua jornada, para nos tornarmos além dessas perguntas da entrevista java, nós criamos um currículo que é projetado para estudantes e profissionais que desejam ser um desenvolvedor Java.

Tem alguma questão para nós? Mencione isso na seção de comentários deste ‘Vetores em Java’ artigo e entraremos em contato com você o mais breve possível.