Sum HashMapлямбда потоком () - PullRequest
0 голосов
/ 26 ноября 2018

Как суммировать баллы клиентов по лямбда-потоку sum()?

public class CustomerDetail {
    private int point = 1;
    private Integer id;

    public CustomerDetail() { 
        this(0);
    }
    public CustomerDetail(int id) { 
        this.id = id;
    }

    public void setPoint(int point) {
        this.point = point;
    }
    public int getPoint() {
        return point;
    }
}

HashMap<String, List<CustomerDetail>> list = new HashMap<String, List<CustomerDetail>>()

1 Ответ

0 голосов
/ 26 ноября 2018

Вы можете сделать это так,

int sumOfPoints = list.values().stream()
                         .flatMap(List::stream)
                         .mapToInt(CustomerDetail::getPoint)
                         .sum();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...