• 数组转化成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;
        }
  • 相关阅读:
    z-index
    点击按钮跳转带指定的位置
    导航-角
    弹出框
    控制叠加风格
    Python学习三
    玩转HTTP
    http-关于application/x-www-form-urlencoded等字符编码的解释说明
    Python学习二
    git merge 和 git rebase
  • 原文地址:https://www.cnblogs.com/xiaoweihua/p/7029206.html
Copyright © 2020-2023  润新知