Scala to Java (funktionale Programmierung)
Ich wurde gebeten, einen Teil des Scala-Codes für einen Kurs nach Java zu 'übersetzen'. Die Anforderungen der Zuweisung sind jedoch, dass Java 8 und externe Bibliotheken wieFunktionales Java undTotally Lazy, sind nicht erlaub. Die Zeile in Scala ist:
charges.groupBy(_.cc).values.map(_.reduce(_ combine _)).toList
Ich konnte schreibengroupBy
undvalues
aber.map
und_.reduce
entgeht mir immer noch. Ich habe mir den Quellcode dieser beiden Bibliotheken sowie den Quellcode von Scala angesehen, um herauszufinden, wie ich diese zusammenstellen kann, aber ich konnte keine Fortschritte erziele
GroupBy wird wie folgt implementiert:
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;
}