• 数组转化成map和set的简单实现


    将数组转化为Set(不使用Set类)。

    思路:1.将数组排序

         2.遍历数组,将临近的元素进行比较,如果不相等就加入容器。 (当然这里返回的是一个有序无重的容器没有实现无序)

        /**
         * 将数组去重(不使用Set的情况下)
         * @param array  被操作数组
         * @return 目标Set
         */
        public static List<Integer> intToSet(int[] array){
            List<Integer> list = new ArrayList<Integer>();
            Arrays.sort(array);
            list.add(array[0]);
            for(int i = 0;i<array.length-1;i++){
                if(array[i]!=array[i+1]){
                    list.add(array[i+1]);
                }
            }
        
            return list;
        }

    将数组转化为Map(key为元素,value为次数)。

    因为上面实现了set,我们这里就直接用Set容器。

    思路:

    1.将数组装入Set,去重。

    2.遍历Set,将里面的元素取出计算出出现的次数。

        /**
         * 数组 转成 map形式
         * @param array 被操作数组
         * @return 目标Map
         */
        public static Map<Integer,Integer> intToMap(int[] array){
            Set<Integer> set = new HashSet<Integer>();
            Map<Integer,Integer> map = new HashMap<Integer,Integer>();
            for(int i = 0;i<array.length;i++){
                set.add(array[i]);
            }
            Iterator<Integer> it = set.iterator();
            while(it.hasNext()){
                int next = it.next();
                int index = 0;
                for(int n : array){
                    if(n==next) index++;
                }
                map.put(next, index);
                System.out.print(next);
                System.out.println("======"+index);
            }
                    
            return map;
        }
  • 相关阅读:
    2021秋 数分B1笔记
    android逆向奇技淫巧二十三:自己写app调用x音关键so(未完待续)(八)
    android逆向奇技淫巧二十二:ida栈回溯加密算法跟踪(未完待续)(七)
    http tcp websocket
    location.reload
    event.preventDefault
    document.querySelector
    造成播放端卡顿的原因
    引入外部组件 Vue.use()和Vue.component()
    Interpolation
  • 原文地址:https://www.cnblogs.com/xiaoweihua/p/7029206.html
Copyright © 2020-2023  润新知