Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public List<Stock> average(Collection<Stock> stocks) {
- // TODO: use functional programming to count average stock price
- // HINT: use collect Collectors.groupingBy
- return stocks.stream()
- .collect(Collectors.groupingBy(Stock::getCode))
- .entrySet().stream()
- .map(entry -> new ImmutablePair<String, Float>(entry.getKey(),
- entry.getValue().stream()
- .map(Stock::getValue)
- .reduce((v1, v2) -> v1 + v2)
- .orElse(0f) / entry.getValue().size()
- ))
- .map(pair -> new Stock(pair.left, pair.right))
- .collect(Collectors.toList());
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement