🚀 Projeto Prático em Java: Calculadora de Fatorial com Memoization
✨ Introdução Rápida
Se você quer dominar técnicas de otimização de código em Java, aprender memoization é essencial.
Hoje vamos criar uma Calculadora de Fatorial usando HashMap para armazenar os resultados já calculados.
Perfeito para quem quer treinar:
- Recursão ✅
- Estrutura de dados (HashMap) ✅
- Técnicas de otimização (Memoization) ✅

🧠 Explicação Rápida
O que acontece | Como funciona |
---|---|
Primeira chamada | Calcula 5! normalmente. |
Segunda chamada para 6! | Usa o resultado de 5! do cache. |
Terceira chamada para 5! | Busca diretamente do cache, sem recalcular. |
✅ Evitamos fazer multiplicações repetidas.
✅ Tornamos o programa mais rápido e inteligente.
📋 Pontos Importantes
- HashMap é ideal para armazenar pares
entrada -> saída
rapidamente. - Como estamos usando
int
elong
, conseguimos calcular fatoriais de números relativamente grandes (mas sem exagerar para não dar overflow). - O cache cresce conforme o programa roda — em aplicações muito grandes, seria necessário gerenciar o tamanho do cache.
📣 Desafio Extra para Você 🚀
Tente modificar o código para:
- Limitar o tamanho do cache para no máximo 100 elementos.
- Usar LinkedHashMap com remoção automática de itens antigos.
(Dica: Isso te introduz ao conceito de LRU Cache, muito usado em sistemas de alta performance!)
Pingback: 🚀 O que é Memoization na Programação? (Explicado de um Jeito Simples) - devlog.blog