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?
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?
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!