Lógica e Algoritmos com Java

23 - Vetor

Em Java, um vetor (ou array) é uma estrutura de dados que armazena uma coleção de elementos do mesmo tipo, permitindo o acesso a esses elementos por meio de um índice.

Um vetor tem um tamanho fixo e os elementos são armazenados em posições numeradas, começando do índice 0 até o tamanho do vetor menos 1.

Estrutura de um vetor em Java:

tipo[] nomeVetor = new tipo[tamanho];

Exemplo:

Vamos criar um vetor que armazena os números de 1 a 5 e, em seguida, utilizamos o laço for para imprimir todos os valores armazenados no vetor.

Exemplo de código:

public class ExemploVetor {
    public static void main(String[] args) {
        // Cria um vetor de inteiros com 5 elementos
        int[] numeros = {1, 2, 3, 4, 5};

        // Laço for para percorrer o vetor e imprimir os valores
        for (int i = 0; i < numeros.length; i++) {
            System.out.println(numeros[i]); // Imprime o valor na posição i do vetor
        }
    }
}
    

Explicação:

  • O vetor numeros armazena os valores {1, 2, 3, 4, 5}.
  • A variável i começa em 0 (o primeiro índice do vetor) e vai até numeros.length - 1 (que é 4 neste caso, porque o vetor tem 5 elementos).
  • Dentro do laço for, utilizamos numeros[i] para acessar cada valor armazenado no vetor e imprimi-lo.

Saída do programa:

Quando o programa for executado, ele imprimirá:

1
2
3
4
5
    

O laço percorre o vetor, imprimindo cada número armazenado na sequência até o fim.

Funcionalidades de um Vetor em Java

Abaixo estão algumas das funcionalidades mais comuns de um vetor em Java.

Função Descrição Exemplo
Criação de vetor Criação de um vetor com um número fixo de elementos.
int[] arr = new int[5];
Acesso a elementos Obter o valor de um elemento no vetor usando o índice.
int x = arr[2];
Modificação de elementos Alterar o valor de um elemento em uma posição específica.
arr[1] = 10;
Length Obter o tamanho do vetor.
int tamanho = arr.length;
Inicialização com valores Inicializar o vetor com valores específicos.
int[] arr = {1, 2, 3, 4, 5};
Laço de repetição Percorrer o vetor e acessar cada elemento.
for (int i = 0; i < arr.length; i++) {
   System.out.println(arr[i]);
Buscar um valor Buscar a posição de um valor no vetor.
int pos = Arrays.binarySearch(arr, 3);
Preencher vetor Preencher um vetor com um valor específico.
Arrays.fill(arr, 0);

Exemplo Prático

O seguinte código Java solicita três nomes ao usuário, armazena-os em um vetor e depois exibe-os no console. Vamos explicar cada parte do código.

        
import java.util.Scanner; // 1. Importando a classe Scanner para capturar entradas do usuário.

public class ExemploVetorNomes {
    public static void main(String[] args) {
        // 2. Criação do objeto Scanner para ler os dados do usuário.
        Scanner scanner = new Scanner(System.in);

        // 3. Criação de um vetor para armazenar os três nomes.
        String[] nomes = new String[3]; // Vetor de tamanho 3.

        // 4. Solicitar o primeiro nome e armazenar no vetor.
        System.out.println("Digite o primeiro nome:");
        nomes[0] = scanner.nextLine(); // Armazena o primeiro nome na posição 0 do vetor.

        // 5. Solicitar o segundo nome e armazenar no vetor.
        System.out.println("Digite o segundo nome:");
        nomes[1] = scanner.nextLine(); // Armazena o segundo nome na posição 1 do vetor.

        // 6. Solicitar o terceiro nome e armazenar no vetor.
        System.out.println("Digite o terceiro nome:");
        nomes[2] = scanner.nextLine(); // Armazena o terceiro nome na posição 2 do vetor.

        // 7. Exibir os nomes armazenados no vetor.
        System.out.println("\nOs nomes digitados foram:");
        for (int i = 0; i < nomes.length; i++) {
            System.out.println((i+1) + "º Nome: " + nomes[i]); // Exibe cada nome armazenado no vetor.
        }

        // 8. Fechando o scanner para evitar vazamento de recursos.
        scanner.close();
    }
}
        
    

Explicação do código:

  • Importação do Scanner: No início do código, importamos a classe Scanner para permitir que o programa leia entradas do usuário através do teclado.
  • Criação do vetor: O vetor nomes é criado com 3 elementos, que são usados para armazenar os três nomes digitados pelo usuário.
  • Leitura dos nomes: O programa solicita ao usuário para digitar três nomes, um por vez, usando o método nextLine() da classe Scanner.
  • Armazenamento no vetor: Cada nome digitado é armazenado em uma posição específica do vetor. O primeiro nome vai para a posição 0, o segundo para a posição 1, e o terceiro para a posição 2.
  • Exibição dos nomes: O programa utiliza um laço for para percorrer o vetor e exibir cada nome armazenado.
  • Fechamento do Scanner: Após a leitura dos nomes, o scanner.close() é chamado para fechar o objeto scanner e liberar os recursos.

Saída esperada no console:

Digite o primeiro nome:
Carlos
Digite o segundo nome:
Maria
Digite o terceiro nome:
João

Os nomes digitados foram:
1º Nome: Carlos
2º Nome: Maria
3º Nome: João