java 比较Map里每个key的value,獲取相同value的key

例如有一條HashMap = {a=1,b=2,c=1}
我想獲取相同value的key,也就是a和c
有啥辦法?
麻煩大家~

你看一下这个

import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

public class MapTest {

public static void main(String[] args) {
    Map map = new HashMap();
    map.put("a", 1);
    map.put("b", 2);
    map.put("c", 1);

    Map values = new HashMap();
    List list = new ArrayList();
    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);
        }
    }

    System.out.println("result-----------------------");
    iterator = values.keySet().iterator();
    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());
        }
    }
}

}

遍历HashMap,
用一个Map>存储Map>