Android game rpg sistema de inventário

Estou usando um ArrayList como meu "inventário". Estou tendo problemas para descobrir uma maneira de adicionar múltiplos do mesmo item sem ocupar um lugar no "inventário". Por exemplo: adiciono uma poção ao meu inventário. Agora eu adiciono OUTRA poção, mas desta vez em vez de adicionar OUTRA poção ao inventário, ela deve mostrar que eu tenho: Poções x 2, enquanto ocupa apenas um ponto na ArrayList. Eu vim com algumas soluções, mas sinto como se fossem más práticas. Uma solução que tentei foi adicionar uma variável AMOUNT ao item em si e incrementá-la. Ajude-me a encontrar uma solução muito melhor?

EDIT: Ok, por favor, ignore o acima. Eu obtive respostas muito boas para isso, mas o que me surpreendeu foi o fato de quase não haver tutoriais sobre sistemas de inventário de jogos. Eu fiz muitas pesquisas no Google e não consigo encontrar bons exemplos / tutoriais / código fonte. Se alguém pudesse me indicar alguns bons exemplos / tutoriais / código-fonte (não importa qual idioma, mas java preferível ou mesmo c / c ++), eu agradeceria. Ah, e qualquer livro sobre o assunto.

questionAnswers(5)

yourAnswerToTheQuestion