1
resposta

Dúvida sobre Vector

A diferença do Vector para o ArrayList e LinkedList é que ele consegue trabalhar com mais de uma pilha de dados manipulando um única lista?

Exemplo: com o Vector o desenvolvedor poderia manipular as pilhas de Contas e Cliente em uma única lista?

1 resposta

Olá Lucas, tudo bem com você?

Peço desculpas pela demora em obter um retorno.

O Vector é capaz de armazenar objetos de diferentes tipos em uma única estrutura de dados, permitindo adicionar, remover e acessar tanto as Contas quanto os Clientes na mesma lista. Isso proporciona conveniência e organização ao lidar com várias pilhas de objetos relacionados.

A diferença do Vector em relação ao ArrayList e LinkedList é que ele é "thread safe", o que significa que pode ser usado em ambientes onde várias threads (ou "pilhas") estão manipulando a mesma lista simultaneamente, garantindo a consistência dos dados. Portanto, com o Vector, é possível manipular diferentes pilhas de objetos, como Contas e Clientes, em uma única lista de forma segura. Como no exemplo de código abaixo:

import java.util.Vector;

public class ExemploVector {
    public static void main(String[] args) {
        Vector<Object> listaPilhas = new Vector<>();

        // Adicionando pilha de Contas
        Vector<Conta> pilhaContas = new Vector<>();
        pilhaContas.add(new Conta("1111", 1000));
        pilhaContas.add(new Conta("2222", 2000));
        listaPilhas.add(pilhaContas);

        // Adicionando pilha de Clientes
        Vector<Cliente> pilhaClientes = new Vector<>();
        pilhaClientes.add(new Cliente("João"));
        pilhaClientes.add(new Cliente("Maria"));
        listaPilhas.add(pilhaClientes);

        // Acessando as pilhas
        Vector<Conta> pilhaContasRecuperada = (Vector<Conta>) listaPilhas.get(0);
        Vector<Cliente> pilhaClientesRecuperada = (Vector<Cliente>) listaPilhas.get(1);

        // Exibindo os elementos da pilha de Contas
        for (Conta conta : pilhaContasRecuperada) {
            System.out.println("Conta: " + conta.getNumero());
        }

        // Exibindo os elementos da pilha de Clientes
        for (Cliente cliente : pilhaClientesRecuperada) {
            System.out.println("Cliente: " + cliente.getNome());
        }
    }
}

class Conta {
    private String numero;
    private double saldo;

    public Conta(String numero, double saldo) {
        this.numero = numero;
        this.saldo = saldo;
    }

    public String getNumero() {
        return numero;
    }

    public double getSaldo() {
        return saldo;
    }
}

class Cliente {
    private String nome;

    public Cliente(String nome) {
        this.nome = nome;
    }

    public String getNome() {
        return nome;
    }
}

Resultado

Conta: 1111
Conta: 2222
Cliente: João
Cliente: Maria

No exemplo acima, criamos um Vector chamado listaPilhas que é capaz de armazenar diferentes pilhas de objetos. Em seguida, adicionamos uma pilha de Conta e uma pilha de Cliente na lista. Por fim, acessamos as pilhas individualmente e exibimos os elementos de cada uma delas. Dessa forma, podemos manipular as pilhas de Contas e Clientes em uma única lista usando o Vector.

Espero ter ajudado. Continue mergulhando em conhecimento e não hesite em voltar ao fórum para continuar aprendendo e interagindo com a comunidade.

Em caso de dúvidas estou à disposição.

Abraços e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!