Вы можете упростить код с определенным конструктором всех аргументов, например:
final List<Stats> values = countMap.entrySet().stream()
.map(e -> new Stats(e.getKey(), e.getValue(), getPercentage(e.getValue(), total.get())))
.collect(Collectors.toList());
, где конструктор преобразуется в
new Stats(<type>, <count>, <percent>)
Примечание : Избегайте присвоения null
значения Map
, вместо этого инициализируйте его как пустое. Код с этой дополнительной проверкой будет выглядеть так:
final List<Stats> values = countMap != null ? countMap.entrySet().stream()
.map(e -> new Stats(e.getKey(), e.getValue(), getPercentage(e.getValue(), total.get())))
.collect(Collectors.toList()) : Collections.emptyList();