Scala para Java (programação funcional)
Me pediram para 'traduzir' algum código Scala para Java para um curso. No entanto, os requisitos da atribuição são que Java 8 e bibliotecas externas, comoJava funcional eTotalmente preguiçoso, não é permitido. A linha em Scala é:
charges.groupBy(_.cc).values.map(_.reduce(_ combine _)).toList
Eu tenho sido capaz de escrevergroupBy
evalues
mas.map
e_.reduce
ainda me iludem. Analisei o código-fonte dessas duas bibliotecas, bem como a fonte Scala, para tentar encontrar algo que me ajudasse a juntá-las, mas não consegui avançar.
GroupBy é implementado da seguinte maneira:
public Map<CreditCard, List<Charge>> groupBy(List<Charge> list)
{
Map<CreditCard, List<Charge>> map = new TreeMap<CreditCard, List<Charge>>();
for(Charge c: list)
{
List<Charge> group = map.get(c.cc);
if(group == null)
{
group = new ArrayList();
map.put(c.cc, group);
}
group.add(c);
}
return map;
}