У меня есть следующие данные (структура класса A):
[
{
"name": "a",
"enable": true
},
{
"name": "a",
"enable": false
},
{
"name": "b",
"enable": false
},
{
"name": "b",
"enable": false
},
{
"name": "c",
"enable": false
}
]
Как заменить приведенный ниже сложный код простым паром:
List<A> list = xxxxx;
Map<String, Integer> aCountMap = new HashMap<>();
list.forEach(item -> {
Integer count = aCountMap.get(item.getName());
if (Objects.isNull(count)) {
aCountMap.put(item.getName(), 0);
}
if (item.isEnable()) {
aCountMap.put(item.getName(), ++count);
}
});
Правильный результат выглядит следующим образом:
{"a":1}
{"b":0}
{"c":0}