Array Dinâmico
Se você trabalha com Arrays em Java, sabe que uma das grandes complicações desta estrutura de dados é ter que definir seus tamanhos. Nem sempre quando você cria sua classe, você já sabe qual o tamanho de vetor que precisará para armazenar seus valores.Há várias possibilidades para resolver este problema:
Imagine um cadastro de uma galinha e seus pintinhos.
Neste exemplo, usaremos o conceito de Composição (ver post sobre Agregação e Composição). Como sabemos que esta galinha poderá ter mais de um pintinho, devemos salvar estas instâncias de pintinho em um vetor.
// Classe Pintinho
class Pintinho{
}
class Galinha{Pintinho[] filhos = new Pintinho[5];
}
O problema é: Como saber inicialmente, quantos pintinhos esta galinha terá ou qual o limite de pintinhos que cada galinha deve ter?
O tamanho inicial pode ser determinado no construtor desta classe.
Obviamente, esta classe tem que ter, basicamente, métodos para
A jogada está em você monitorar o tamanho do vetor conforme vai-se adicionando ou excluindo elementos.
Se o método adicionar for invocado, e o vetor interno já tiver cheio, vc cria um novo vetor com o dobro do tamanho, joga os elementos do vetor velho para o novo, adiciona o novo elemento ao vetor novo e "joga fora" o vetor velho. Não vamos entrar no mérito da performance aqui, afinal seu professor pediu apenas um vetor dinâmico
Assinar:
Postar comentários
(
Atom
)
Nenhum comentário :
Postar um comentário