Как увеличить значение на карте с помощью Apex?

Есть ли способ увеличить значение на карте без второй переменной?

например, это не работает:

counts = new Map<string,integer>();
counts.put('month_total',0);
counts.put('month_total',counts.get['month_total']++);

он возвращает "Начальный срок выражения поля должен быть конкретным SObject: MAP"

вместо этого мне нужно было сделать:

counts = new Map<string,integer>();
counts.put('month_total',0);
integer temp = 0;
temp++;
counts.put('month_total',temp);

Есть ли способ увеличить без необходимости использования дополнительной переменной?

1 ответ

Решение

Замещать

counts.put('month_total',counts.get['month_total']++);

с

counts.put('month_total',counts.get('month_total')++);
List<String> lststrings = new List<String>{'key','wewe','sdsd','key','dfdfd','wewe'};
    Map<String,Integer> mapval = new Map<String,Integer>();
Integer count = 1;
for(string str : lststrings){
    IF(mapval.containsKey(str)){
        mapval.put(str,mapval.get(str)+1);
    }
    else{
        mapval.put(str,count);
    }
}
system.debug('value of mapval'+mapval);
Другие вопросы по тегам