Gemeinsames Lernen

This commit is contained in:
Sebastian Eidecker
2019-11-13 22:19:42 +01:00
parent 5f6fd402cc
commit baa3ff518a
8 changed files with 694 additions and 7 deletions

View File

@@ -0,0 +1,57 @@
package org.eidecker.mapreduce;
import static org.junit.jupiter.api.Assertions.assertEquals;
import java.util.List;
import java.util.Optional;
import java.util.stream.Collectors;
import java.util.stream.IntStream;
import org.junit.jupiter.api.Test;
/**
* @author seidecke.
*/
public class DistanceCounter {
private static Integer komplizierteBerechnungMitRestCall(Integer strecke, Integer strecke2) {
return strecke2 - strecke;
}
@Test
public void testDistanceSum() {
assertEquals(55, distanceSum(orte()));
}
private Integer distanceSum(List<Stopp> orte) {
Optional<Integer> distanceSum = orte.stream()
.map(Stopp::getWichtigeDingeZurBerechnung)
.reduce(DistanceCounter::komplizierteBerechnungMitRestCall);
return distanceSum.orElse(0);
}
private List<Stopp> orte() {
return IntStream.rangeClosed(1,10).boxed().map(Stopp::new).collect(Collectors.toList());
}
// private BinaryOperator<Ort> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
//
// private BiFunction<Ort, Ort, Integer> distanceAdder = (ort, ort2) -> ort2.getWert() - ort.getWert();
class Stopp {
Integer wert;
public Stopp(Integer wert) {
this.wert = wert;
}
public Integer getWichtigeDingeZurBerechnung() {
return wert;
}
}
}