Como eu faço pra fazer um array dinâmico, ou seja, definido pelo usuário, tipo assim:
- um usuario cadastrar quantos nomes ele quizer em um array (ja que eu não sei quantos nomes ele vai cadastrar, como eu declaro essa array)
desde já
OBRIGADO
Como eu faço pra fazer um array dinâmico, ou seja, definido pelo usuário, tipo assim:
desde já
OBRIGADO
Arrays tem tamanho pre-definido e fixo, portanto, não dá pra fazer isso com array... (até dá, mas você tem que ficar recriando o array e copiando os elementos)
Use uma coleção.
ex.:
List lista = new ArrayList();
lista.add("objeto1");
lista.add("objeto2");
lista.add("objeto3");
Existem varias outras coleções alem de ArrayList, dê uma olhada na API pra ver qual é a melhor para o seu caso.
É isso mesmo, crie uma coleção e adicione os objetos que você necessitar. Dessa forma você não fica “amarrado” a um tamanho fixo.
usando o ArrayList, vou tentar explicar detalhadamente… é bem simples:
bom, sabemos que a String é um objeto em Java. Então fazer um vetor de String’s é fazer um vetor de ponteiros que aponta para objetos (do tipo String). Portanto, vetor não é dinamico, é estático, a única forma que eu conheço de trabalhar com “vetores” dinâmicos em Java é através do ArrayList.
Vou fazer uma classe simples que manipula uma ArrayList:
.
.
.
ArrayList listaDinamica = new ArrayList(); [color=“green”]//aqui vc cria e inicializa a sua lista
/repare que listaDinamica é um objeto, ele guarda objetos do tipo Object (o pai de todos os objetos)/
//o único método que uma ArrayList possui é o .add(<objeto>), exemplo:[/color]
listaDinamica.add(cliente);
[color=“green”]//cliente é um objeto[/color]
[color=“green”]//o ArrayList possui um outro objeto que é o Iterator[/color]
Iterator i = listaDinamica(); [color=“green”]//criando o obejto Iterator e associando ele a sua listaDinamica[/color]
[color=“green”]Métodos do Iterator[/color]
i.hasNext(); [color=“green”]//verifica se existe um obejto posterior[/color]
i.next(); [color=“green”]//para avançar na lista[/color]
i.remove(); [color=“green”]//remove o objeto onde o i aponta[/color]
[color=“green”]//exemplo[/color]
while (i.hasNext()){ [color=green]//se existir o próximo objeto entre no while
clienteTemp = (Cliente) i.next(); [color=green]
System.out.println("Nome do cliente: "+clienteTemp.getNome());
}
espero ter ajudado um pouco… qualquer dúvida pode perguntar, vou tentar esclarecer melhor