数据开发_Python中字典和Java映射示例

示例

通过代码的演化,了解历史的写法以及目前的写法,从而对目前的方式有个更好的理解

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);
    }
}
posted @ 2020-11-03 19:06  辰令  阅读(242)  评论(0编辑  收藏  举报