Code Demo · Java · Stream Aggregation
java
By anonymousjava
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class Main {
static class Order {
final String customer;
final double total;
Order(String customer, double total) { this.customer = customer; this.total = total; }
}
public static void main(String[] args) {
List<Order> orders = new ArrayList<Order>();
orders.add(new Order("Ada", 42.50));
orders.add(new Order("Lin", 18.00));
orders.add(new Order("Ada", 12.25));
Map<String, Double> totals = new HashMap<String, Double>();
for (Order order : orders) totals.put(order.customer, totals.getOrDefault(order.customer, 0.0) + order.total);
for (Map.Entry<String, Double> entry : totals.entrySet()) System.out.printf("%s: %.2f%n", entry.getKey(), entry.getValue());
}
}819 characters23 lines< 2.4 KB