Duvida arraylist

6 respostas
lgr

Boa tarde!
tenho uma lista de produtos e preciso exibir para meus clientes(normal e master).
o fato é que há regras que indicam se o produto deve ou não aparecer para esses tipos de clientes.
a regra é composta por uma chave (id+razao)

exemplo:

id + razao —> master normal

1 400 ----> S N
2 200 ----> S S

QUer dizer que, o "produto de id = 1" e "razão = 400" será exibido para o master mas não para o normal.
O "produto de id = 2" e "razão = 200" será exibido para o master e para o normal.

Qual seria a melhor forma de eu amarzernar essas regras?um map?uma lista?

Pensei em ter um arrayList e adicionar "n objetos Produto"!!!
meu objeto produto teria tres atributos: chave, master e normal.

Agradeço a atenção e sugestão.

6 Respostas

nel

Boa tarde.

Você já tem a ideia na cabeça, já tentou aplicar algumas delas? :slight_smile:
Então, você pode usar Hashmap, Hashtable ou até mesmo criar um objeto com um atributo representando o id e outro atributo para guardar a razão, nesse momento você pode criar duas listas, uma você insere os objetos master e outra insere os normais.

Bem, é uma das muitas soluções, mas parece ser simples esta.
Espero ter ajudado.

Abraços. :slight_smile:

robsonformoso

Olá,

As idéias dadas são boas.

Bem, vai ai mais uma idéia.

Crie uma classe onde você pode armazenar esses valores e dentro dessa classe vc cria dois métodos chamados ehMaster() e ehNormal() que retorna true ou false, nesses métodos você desenvolve a regra de negócio que você quiser e ao mostrar para o seu cliente você só precisará verificar esses métodos com um if.

public boolean ehMaster(){

if (this.id == 1 && this.razao == 400)

return true;

return false;
}

Algo desse tipo.

Espero ter ajudado,
Abraços.

lina

nel:
Boa tarde.

Você já tem a ideia na cabeça, já tentou aplicar algumas delas? :slight_smile:
Então, você pode usar Hashmap, Hashtable ou até mesmo criar um objeto com um atributo representando o id e outro atributo para guardar a razão, nesse momento você pode criar duas listas, uma você insere os objetos master e outra insere os normais.

Bem, é uma das muitas soluções, mas parece ser simples esta.
Espero ter ajudado.

Abraços. :)

Oi,

Não recomendaria o uso de Hashmap ou HashTable, pois não tem como organizar por sequencia de ID ou Valor.

Utilize SortedMap. Ele ordena por Chave/ID ou então algo como LinkedHashMap.

Tchauzi!

lgr

Valeu pessoal,
Lina, nunca usei sortedMap,vou pesquisar.

Se possível outra opinião de vocs.Como tenho 100 produtos não seria melhor coloca-los num propertie ou xml e popular o objeto?
Se eu popular o conteudo fixo no java fica meio lixo não?não fica parametrizável!!
Obrigado

Quando estiver pronto eu posto aqui.

LPJava

ver se esse post ajuda na escolha…

http://camilolopes.wordpress.com/2008/07/21/conjuntoscollection-java-revisao-scjp/

abraco,

aleck

lgr:
Boa tarde!
tenho uma lista de produtos e preciso exibir para meus clientes(normal e master).
o fato é que há regras que indicam se o produto deve ou não aparecer para esses tipos de clientes.
a regra é composta por uma chave (id+razao)

exemplo:

id + razao —> master normal

1 400 ----> S N
2 200 ----> S S

QUer dizer que, o "produto de id = 1" e "razão = 400" será exibido para o master mas não para o normal.
O "produto de id = 2" e "razão = 200" será exibido para o master e para o normal.

Qual seria a melhor forma de eu amarzernar essas regras?um map?uma lista?

Pensei em ter um arrayList e adicionar "n objetos Produto"!!!
meu objeto produto teria tres atributos: chave, master e normal.

Agradeço a atenção e sugestão.

Siga sua idéia inicial, pois se a regra mudar você estará preparado, criando apenas novos atributos e validações para o objeto.

Criado 13 de outubro de 2009
Ultima resposta 14 de out. de 2009
Respostas 6
Participantes 6