zoukankan      html  css  js  c++  java
  • HashMap去重

    package util;

    import java.util.HashMap;
    import java.util.HashSet;
    import java.util.Iterator;
    import java.util.Map;
    import java.util.Set;
    import java.util.Map.Entry;
    /**
     *
     * HashMap去重处理
     *
     * @author 16060834
     * @see [相关类/方法](可选)
     * @since [产品/模块版本] (可选)
     */
    public class DuplicateMapData {
        public static void main(String[] args) {
            Map<String, String> map = new HashMap<String, String>();
            map.put("1", "123");
            map.put("2", "djw");
            map.put("3", "djw");
            map.put("4", "123");
            map.put("5", "djw");
            System.out.println(deleteDuplicate1(map));
            deleteDuplicate2(map);
            System.out.println(map);
        }
        
        /**
         *
         * 方法1:通过containsValue去重后放入新定义map
         *
         * @param map
         * @return
         * @see [相关类/方法](可选)
         * @since [产品/模块版本](可选)
         */
        private static Map<String, String> deleteDuplicate1(Map<String, String> map) {
            if (map == null || map.size() == 0) {
                return new HashMap<String, String>();
            }
            Map<String, String> map2 = new HashMap<String, String>();
            for (Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); iterator.hasNext();) {
                Entry<String, String> entry = iterator.next();
                if (map2.containsValue(entry.getValue())) {
                    continue;
                } else {
                    map2.put(entry.getKey(), entry.getValue());
                }
            }
            return map2;
        }
        
        /**
         *
         * 利用set不可重复特性进行判断
         *
         * @param map
         * @see [相关类/方法](可选)
         * @since [产品/模块版本](可选)
         */
        private static void deleteDuplicate2(Map<String, String> map) {
            if (map == null || map.size() == 0) {
                return;
            }
            Set<String> set = new HashSet<String>();
            for (Iterator<Entry<String, String>> iterator = map.entrySet().iterator(); iterator.hasNext();) {
                Entry<String, String> entry = iterator.next();
                if (set.contains(entry.getValue())) {
                    iterator.remove();
                    continue;
                } else {
                    set.add(entry.getValue());
                }
            }
        }

    }

  • 相关阅读:
    2020-2021-1 20209315《Linux内核原理与分析》第九周作业
    2020-2021-1 20209315《Linux内核原理与分析》第八周作业
    2020-2021-1 20209315《Linux内核原理与分析》第七周作业
    2020-2021-1 20209315《Linux内核原理与分析》第六周作业
    2020-2021-1 20209315《Linux内核原理与分析》第五周作业
    2020-2021-1 20209315《Linux内核原理与分析》第四周作业
    2020-2021-1 20209315《Linux内核原理与分析》第三周作业
    2020-2021-1 20209315《Linux内核原理与分析》第二周作业
    2020-2021-1 20209310《Linux内核原理与分析》第十一周作业
    2020-2021-1 20209310《Linux内核原理与分析》第九周作业
  • 原文地址:https://www.cnblogs.com/jianwei-dai/p/8907899.html
Copyright © 2011-2022 走看看