Armazenar elementos duplicados em uma estrutura

Olá, estou com um problema no qual eu preciso armazenar alguns objetos em um estrutura utilizando um chave. Até então tudo bem, eu estou utilizando um Treemap, porém o problema é que eu percebi que alguns objetos tem a mesma chave, ai quando armazenado no treemap, ele acaba sobrepondo o outro elemento que estava armazenado. Então eu preciso saber como posso fazer para armazenar elementos com chave duplicada em um estrutura?

Obrigado

Você teria que fazer Map<SUA_CHAVE, List<SEU_OBJETO>>, seria assim:
Map<Integer, List> valores.