Qual estrutura escolher?

4 respostas
S

Olá, tenho uma classe Status que recebe informações atraves de outra classe chama AtualizaStatus e essas informações são compostas por (id, carga, capacidade, data) estes dados são do tipo (string, int, int, long). A classe status pode receber estes dados no seguinte formato:

("aluno1", 5, 5, 231232)
("aluno2", 5, 4, 23124322)
("aluno2", 3, 8, 234421232)
("aluno1", 9, 3, 234421232)

Bom, eu preciso que o Status armazene estas informações localmente, como que fosse um historico, elas não precisam ficar salvas, em arquivo por exemplo. Eu pensei em criar uma nova classe HistoricoStatus e toda vez que o Status recebe essas informações cria um novo objeto HistoricoStatus, mas não estou conseguindo achar uma logica para fazer isso.

Pois, quando o status querer consultar tal status ele deve conseguir achar essa informação.

Se alguem tiver alguma ideia … POR FAVOR … AJUDE…

4 Respostas

Mephy

tente usar um atributo do tipo ArrayList na sua classe Status, assim pode ir adicionando objeto da classe HistoricoStatus e consultando-os com loops à vontade

S

Certo em minhas pesquisas que estive fazendo, até você responder este post, optei por linkedlist. Não sei se pode ser este. outra duvida, como posso controlar que esta lista terá somente 3 informações, por exemplo:

("aluno1", 5, 5, 231232)
("aluno2", 5, 4, 23124322)
("aluno2", 3, 8, 234421232)
("aluno1", 9, 3, 234421232)
("aluno1", 2, 2, 2344212)
("aluno1", 2, 4, [telefone removido])

Quando a esta ultima do “aluno1” for adicionada a primeira que é:

("aluno1", 5, 5, 231232)

Deverá ser removida

Mephy

loop com contador pra saber quantas tem:

int contagem = 0; for (int i = 0; i < array.length; i++){ // vou rodar uma ArrayList que contem as strings if (array.get(i).equals(stringPraInserir)) // vejo se o elemento é igual ao novo contagem++; // se for, aumento a contagem } for (int i = 0; i < array.length; i++){ // mesma coisa que o outro for, mas dessa vez tenho a contagem feita if (contagem > 3 && array.get(i).equals(stringPraInserir)){ // mesma condição, mas só se tiver mais de 3 elementos array.remove(i); // acho que na ArrayList é isso pra remover contagem --; // diminuo um da lista de remover } }

B

Opa spiderman,

Da uma olhada na apostila de estrutura de dados da caelum ela aborta o que você precisa e de maneira mais eficaz e organizada!

é a cs-14, me ajudou bastante.

Criado 10 de abril de 2011
Ultima resposta 10 de abr. de 2011
Respostas 4
Participantes 3