如何使用 Apex 来递增地图中的数值?

问题描述 投票:4回答:2

有没有一种方法可以在不需要第二个变量的情况下在地图中递增一个值?

比如说,这个不能用,它返回 "Initial term of field expression must be a concrete SObject:"。

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

它返回 "Initial term of field expression must be a concrete SObject: MAP"

而不是我需要做的。

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

有什么方法可以在不需要额外变量的情况下进行递增?

map salesforce apex-code increment visualforce
2个回答
5
投票

替换

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

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

0
投票
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);
© www.soinside.com 2019 - 2024. All rights reserved.