weixin_42495448
weixin_42495448
2011-12-24 22:38
浏览 438
已采纳

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

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • dingjunfeng
    dingjunfeng 2011-12-25 12:07
    已采纳

    你看一下这个

    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());
            }
        }
    }
    

    }

    点赞 评论
  • qiemengdao
    qiemengdao 2011-12-24 23:37

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

    点赞 评论

相关推荐