示例
通过代码的演化,了解历史的写法以及目前的写法,从而对目前的方式有个更好的理解
Python
def statis_col(a):
""" 统计a中元素出现的次数"""
d = dict()
for sig in a:
if sig not in d:
d[sig] = 1
else:
d[sig] += 1
print(d)
return d
def statis_col_2(a):
d = dict()
for sig in a:
d[sig] = d.get(sig, 0)+1
print(d)
return d
if __name__ == '__main__':
pass
Java
import java.util.HashMap;
import java.util.Map;
public class MapStatis {
public static void main(String[] args){
int arr[]={12,12,3,1,1,99,13};
MapStatis ma = new MapStatis();
ma.showResult3(arr);
ma.showResult2(arr);
ma.showResult(arr);
}
public static void show(Map<Integer, Integer> mapRsult){
for (Map.Entry<Integer, Integer> entry : mapRsult.entrySet()) {
System.out.println(entry.getKey()+": " +entry.getValue());
}
}
public void showResult3(int[] arr_dat){
System.out.println("###1####");
Map<Integer, Integer> map3=new HashMap<>();
for (Integer temp : arr_dat){
map3.put(temp, map3.getOrDefault(temp,0)+1);
}
show(map3);
}
public void showResult2(int[] arr_dat){
System.out.println("##$$$$$$$$$$$$#####");
Map<Integer, Integer> map2=new HashMap<>();
for (int i=0;i<arr_dat.length;i++){
map2.put(arr_dat[i], map2.getOrDefault(arr_dat[i],0)+1);
}
show(map2);
}
public void showResult(int[] arr_dat){
System.out.println("####%%%%%%###");
Map<Integer, Integer> map=new HashMap<>();
for (int i=0;i<arr_dat.length;i++){
if(map.get(arr_dat[i])!=null){
map.put(arr_dat[i], map.get(arr_dat[i])+1);
}else{
map.put(arr_dat[i], 1);
}
}
show(map);
}
}