4

有没有办法在不需要第二个变量的情况下增加地图中的值?

例如,这不起作用:

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);

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

4

2 回答 2

6

代替

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

counts.put('month_total',counts.get('month_total')++);
于 2013-07-11T01:44:02.980 回答
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);
于 2020-05-23T19:57:27.420 回答