Senhores,
Estou fazerndo uma rotinha para agrupar registros tendo por chave deste agrupamento o key mes+ano.
para isso dentro do meu for comecei a fazer o seguinte.
map.put(data.getMes()+"/"+data.getAno(), registro);
Porém eu já sei que ele vai sempre sobrescrevendo o elemento que tiver a chave igual.
A pergunta é: como posso fazer para ter a chave e uma coleção de registros. guardadas no map
a saída final seria algo em torno disso
02/2007
- registro1
- registro2
- registro4
obrigado turma.
ola, nao sei exatamente qual a filidade, se sera ordenacao ou
uma procura posterior pelo dado, mas poderia utilizar algo abaixo.
map.put(data.getMes()+"/"+data.getAno() + System.currentTimeMillis(), registro);
ou fazer um sequenciamento um outro tipo de dados por mes
int x=mapSeq.get(“082007”);
e pelo que retornar, adicionar ao map.put(“mes/ano”+x,registro)
e posterior a isso fazer algo assim
mapSeq.put(“081007”,x+1);
e assim sucessivamente…
espero ter ajudado
at+
Sandro Lemanski da Silva
Achoq eu vc não leu bem.
Senhores resolvi da seguinte form
if (!map.containsKey(data.getMes()+"/"+data.getAno()))
map.put(data.getMes()+"/"+data.getAno(), new ArrayList());
((ArrayList)map.get(data.getMes()+"/"+data.getAno())).add(registro);
agradeço,
Você primeiro insere um ArrayList vazio no map pra depois inserir os objetos nele, quando ele já está no map.
Por que você não monta o ArrayList antes e depois insere no map com tudo dentro?