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

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

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

  • 写回答

2条回答 默认 最新

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

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?