Scala a Java (programación funcional)
Me han pedido que 'traduzca' algún código Scala a Java para un curso. Sin embargo, los requisitos de la asignación son que Java 8 y las bibliotecas externas, comoJava funcional yTotalmente perezoso, no estan permitidos. La línea en Scala es:
charges.groupBy(_.cc).values.map(_.reduce(_ combine _)).toList
He podido escribirgroupBy
yvalues
pero.map
y_.reduce
Todavía me elude. He examinado el código fuente de esas dos bibliotecas, así como el código fuente de Scala, para tratar de encontrar algo que me ayude a armarlos, pero no he podido avanzar.
GroupBy se implementa de la siguiente manera:
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;
}