Scala to Java (функциональное программирование)
Меня попросили «перевести» некоторый код Scala на Java для курса. Тем не менее, требования назначения заключаются в том, что Java 8 и внешние библиотеки, такие какФункциональная Java а такжеПолностью ленивый, не допускаются, Линия в Scala это:
charges.groupBy(_.cc).values.map(_.reduce(_ combine _)).toList
Я был в состоянии написатьgroupBy
а такжеvalues
но.map
а также_.reduce
все еще ускользает от меня. Я посмотрел на исходный код этих двух библиотек, а также на исходный код Scala, чтобы попытаться найти что-то, что помогло бы мне собрать их вместе, но я не смог ничего сделать.
GroupBy реализован следующим образом:
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;
}