Map 取相同值的key

来源:互联网 发布:淘宝真皮女包店 编辑:程序博客网 时间:2024/06/05 08:53

Map 取相同值的key

public static List<Map.Entry<Object, Object>> getKeyBySameValue(Map map){        Map values = new HashMap();        List list;        Iterator iterator = map.keySet().iterator();        while (iterator.hasNext()) {            Object key = iterator.next();            Object value = map.get(key);            if (map.containsValue(value)) {                if (values.containsKey(value)) {                    list = (List) values.get(value);                } else {                    list = new ArrayList();                }                list.add(key);                values.put(value, list);            }        }        iterator = values.keySet().iterator();        Map<Object,Object> newMap =  new HashMap<>();        while (iterator.hasNext()) {            Object value = iterator.next();            List result = (List) values.get(value);            if (result.size() > 1) {                System.out.println("value :" + value + "  -> keys:"                        + result.toString());            }            newMap.put(value,result.toString());        }        List<Map.Entry<Object, Object>> returnList = new ArrayList<>(newMap.entrySet());        return returnList;    }


0 0
原创粉丝点击